<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	<title>API: yui   yui.js  (YUI Library)</title>

	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
	<link rel="stylesheet" type="text/css" href="assets/api.css" />

    <script type="text/javascript" src="assets/api-js"></script>
    <script type="text/javascript" src="assets/ac-js"></script>
</head>

<body id="yahoo-com">

<div id="doc3" class="yui-t2">
	<div id="hd">
        <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
        <h3>yui&nbsp; <span class="subtitle">3.1.1</span></h3>
        <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> 
            &gt; <a href="./module_yui.html" title="yui">yui</a>
                
                 &gt; yui.js (source view) 
        <form onsubmit="return false">
            <div id="propertysearch">
                Search: <input autocomplete="off" id="searchinput" />
                <div id="searchresults">
                    &nbsp;
                </div>
            </div>
        </form>
	</div>

	<div id="bd">
		<div id="yui-main">
			<div class="yui-b">
            <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
                <fieldset>
                    <legend>Filters</legend>
                <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
                <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
                <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
                </fieldset>
            </form>

                    <div id="srcout">
                        <style>
                            #doc3 .classopts { display:none; }
                        </style>
                        <div class="highlight"><pre><span class="cm">/**</span>
<span class="cm"> * The YUI module contains the components required for building the YUI seed file.</span>
<span class="cm"> * This includes the script loading mechanism, a simple queue, and the core utilities for the library.</span>
<span class="cm"> * @module yui</span>
<span class="cm"> * @submodule yui-base</span>
<span class="cm"> */</span>

<span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">YUI</span> <span class="o">===</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span> <span class="p">{</span>

<span class="cm">/**</span>
<span class="cm"> * The YUI global namespace object.  If YUI is already defined, the</span>
<span class="cm"> * existing YUI object will not be overwritten so that defined</span>
<span class="cm"> * namespaces are preserved.  It is the constructor for the object</span>
<span class="cm"> * the end user interacts with.  As indicated below, each instance</span>
<span class="cm"> * has full custom event support, but only if the event system </span>
<span class="cm"> * is available.</span>
<span class="cm"> *</span>
<span class="cm"> * @class YUI</span>
<span class="cm"> * @constructor</span>
<span class="cm"> * @global</span>
<span class="cm"> * @uses EventTarget</span>
<span class="cm"> * @param o* 0..n optional configuration objects.  these values</span>
<span class="cm"> * are store in Y.config.  See config for the list of supported </span>
<span class="cm"> * properties.</span>
<span class="cm"> */</span>
    <span class="cm">/*global YUI*/</span>
    <span class="cm">/*global YUI_config*/</span>
    <span class="kd">var</span> <span class="nx">YUI</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>

        <span class="kd">var</span> <span class="nx">Y</span> <span class="o">=</span> <span class="k">this</span><span class="p">,</span> <span class="nx">a</span> <span class="o">=</span> <span class="nx">arguments</span><span class="p">,</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">l</span> <span class="o">=</span> <span class="nx">a</span><span class="p">.</span><span class="nx">length</span><span class="p">,</span>
            <span class="nx">globalConfig</span> <span class="o">=</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">YUI_config</span> <span class="o">!==</span> <span class="s1">&#39;undefined&#39;</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="nx">YUI_config</span><span class="p">;</span>

        <span class="c1">// Allow instantiation without the new operator</span>
        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="nx">Y</span> <span class="k">instanceof</span> <span class="nx">YUI</span><span class="p">))</span> <span class="p">{</span>
            <span class="nx">Y</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YUI</span><span class="p">();</span>
            <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">l</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">_config</span><span class="p">(</span><span class="nx">a</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span>
            <span class="p">}</span>
            <span class="k">return</span> <span class="nx">Y</span><span class="p">;</span> 
        <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="c1">// set up the core environment</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">_init</span><span class="p">();</span>
            <span class="k">if</span> <span class="p">(</span><span class="nx">globalConfig</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">_config</span><span class="p">(</span><span class="nx">globalConfig</span><span class="p">);</span>
            <span class="p">}</span>
            <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">l</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">_config</span><span class="p">(</span><span class="nx">a</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span>
            <span class="p">}</span>
            <span class="c1">// bind the specified additional modules for this instance</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">_setup</span><span class="p">();</span>
            <span class="k">return</span> <span class="nx">Y</span><span class="p">;</span>
        <span class="p">}</span>
    <span class="p">};</span>
<span class="p">}</span>

<span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
    <span class="kd">var</span> <span class="nx">p</span><span class="p">,</span> <span class="nx">prop</span><span class="p">,</span>
        <span class="nx">VERSION</span>       <span class="o">=</span> <span class="s1">&#39;@VERSION@&#39;</span><span class="p">,</span> 
        <span class="nx">BASE</span>          <span class="o">=</span> <span class="s1">&#39;http://yui.yahooapis.com/&#39;</span><span class="p">,</span>
        <span class="nx">DOC_LABEL</span>     <span class="o">=</span> <span class="s1">&#39;yui3-js-enabled&#39;</span><span class="p">,</span>
        <span class="nx">NOOP</span>          <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{},</span>
        <span class="nx">SLICE</span>         <span class="o">=</span> <span class="nb">Array</span><span class="p">.</span><span class="nx">prototype</span><span class="p">.</span><span class="nx">slice</span><span class="p">,</span>
        <span class="nx">APPLY_TO_AUTH</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">&#39;io.xdrReady&#39;</span><span class="o">:</span>      <span class="mi">1</span><span class="p">,</span>   <span class="c1">// the functions applyTo </span>
                          <span class="s1">&#39;io.xdrResponse&#39;</span><span class="o">:</span>   <span class="mi">1</span><span class="p">,</span>   <span class="c1">// can call. this should</span>
                          <span class="s1">&#39;SWF.eventHandler&#39;</span><span class="o">:</span> <span class="mi">1</span> <span class="p">},</span> <span class="c1">// be done at build time</span>
        <span class="nx">hasWin</span>        <span class="o">=</span> <span class="p">(</span><span class="k">typeof</span> <span class="nb">window</span> <span class="o">!=</span> <span class="s1">&#39;undefined&#39;</span><span class="p">),</span>
        <span class="nx">win</span>           <span class="o">=</span> <span class="p">(</span><span class="nx">hasWin</span><span class="p">)</span> <span class="o">?</span> <span class="nb">window</span> <span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
        <span class="nx">doc</span>           <span class="o">=</span> <span class="p">(</span><span class="nx">hasWin</span><span class="p">)</span> <span class="o">?</span> <span class="nx">win</span><span class="p">.</span><span class="nb">document</span> <span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
        <span class="nx">docEl</span>         <span class="o">=</span> <span class="nx">doc</span> <span class="o">&amp;&amp;</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">documentElement</span><span class="p">,</span>
        <span class="nx">docClass</span>      <span class="o">=</span> <span class="nx">docEl</span> <span class="o">&amp;&amp;</span> <span class="nx">docEl</span><span class="p">.</span><span class="nx">className</span><span class="p">,</span>
        <span class="nx">instances</span>     <span class="o">=</span> <span class="p">{},</span> 
        <span class="nx">time</span>          <span class="o">=</span> <span class="k">new</span> <span class="nb">Date</span><span class="p">().</span><span class="nx">getTime</span><span class="p">(),</span> 
        <span class="nx">add</span>           <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">capture</span><span class="p">)</span> <span class="p">{</span>
                            <span class="k">if</span> <span class="p">(</span><span class="nx">el</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">)</span> <span class="p">{</span>
                                <span class="nx">el</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">capture</span><span class="p">);</span>
                            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">el</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">attachEvent</span><span class="p">)</span> <span class="p">{</span>
                                <span class="nx">el</span><span class="p">.</span><span class="nx">attachEvent</span><span class="p">(</span><span class="s2">&quot;on&quot;</span> <span class="o">+</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">);</span>
                            <span class="p">}</span> 
                        <span class="p">},</span>
        <span class="nx">remove</span>        <span class="o">=</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">el</span><span class="p">,</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">capture</span><span class="p">)</span> <span class="p">{</span>
                            <span class="k">if</span> <span class="p">(</span><span class="nx">el</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">removeEventListener</span><span class="p">)</span> <span class="p">{</span>
                                <span class="c1">// this can throw an uncaught exception in FF</span>
                                <span class="k">try</span> <span class="p">{</span>
                                    <span class="nx">el</span><span class="p">.</span><span class="nx">removeEventListener</span><span class="p">(</span><span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">capture</span><span class="p">);</span>
                                <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="nx">ex</span><span class="p">){}</span>
                            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">el</span> <span class="o">&amp;&amp;</span> <span class="nx">el</span><span class="p">.</span><span class="nx">detachEvent</span><span class="p">)</span> <span class="p">{</span>
                                <span class="nx">el</span><span class="p">.</span><span class="nx">detachEvent</span><span class="p">(</span><span class="s2">&quot;on&quot;</span> <span class="o">+</span> <span class="nx">type</span><span class="p">,</span> <span class="nx">fn</span><span class="p">);</span>
                            <span class="p">}</span>
                        <span class="p">},</span>
        <span class="nx">handleLoad</span>    <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
                            <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">windowLoaded</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
                            <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">DOMReady</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
                            <span class="k">if</span> <span class="p">(</span><span class="nx">hasWin</span><span class="p">)</span> <span class="p">{</span>
                                <span class="nx">remove</span><span class="p">(</span><span class="nb">window</span><span class="p">,</span> <span class="s1">&#39;load&#39;</span><span class="p">,</span> <span class="nx">handleLoad</span><span class="p">);</span>
                            <span class="p">}</span>
                        <span class="p">};</span>

<span class="c1">//  Stamp the documentElement (HTML) with a class of &quot;yui-loaded&quot; to </span>
<span class="c1">//  enable styles that need to key off of JS being enabled.</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">docEl</span> <span class="o">&amp;&amp;</span> <span class="nx">docClass</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="nx">DOC_LABEL</span><span class="p">)</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
    <span class="k">if</span> <span class="p">(</span><span class="nx">docClass</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">docClass</span> <span class="o">+=</span> <span class="s1">&#39; &#39;</span><span class="p">;</span>
    <span class="p">}</span>
    <span class="nx">docClass</span> <span class="o">+=</span> <span class="nx">DOC_LABEL</span><span class="p">;</span>
    <span class="nx">docEl</span><span class="p">.</span><span class="nx">className</span> <span class="o">=</span> <span class="nx">docClass</span><span class="p">;</span>
<span class="p">}</span>

<span class="k">if</span> <span class="p">(</span><span class="nx">VERSION</span><span class="p">.</span><span class="nx">indexOf</span><span class="p">(</span><span class="s1">&#39;@&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
    <span class="nx">VERSION</span> <span class="o">=</span> <span class="s1">&#39;3.0.0&#39;</span><span class="p">;</span> <span class="c1">// dev time hack for cdn test</span>
<span class="p">}</span>
        
<span class="nx">YUI</span><span class="p">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="p">{</span>
    <span class="nx">_config</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">o</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">o</span> <span class="o">=</span> <span class="nx">o</span> <span class="o">||</span> <span class="p">{};</span>
        <span class="kd">var</span> <span class="nx">attr</span><span class="p">,</span>
            <span class="nx">name</span><span class="p">,</span> 
            <span class="nx">detail</span><span class="p">,</span>
            <span class="nx">config</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">config</span><span class="p">,</span> 
            <span class="nx">mods</span>   <span class="o">=</span> <span class="nx">config</span><span class="p">.</span><span class="nx">modules</span><span class="p">,</span>
            <span class="nx">groups</span> <span class="o">=</span> <span class="nx">config</span><span class="p">.</span><span class="nx">groups</span><span class="p">;</span>
        <span class="k">for</span> <span class="p">(</span><span class="nx">name</span> <span class="k">in</span> <span class="nx">o</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">attr</span> <span class="o">=</span> <span class="nx">o</span><span class="p">[</span><span class="nx">name</span><span class="p">];</span>
            <span class="k">if</span> <span class="p">(</span><span class="nx">mods</span> <span class="o">&amp;&amp;</span> <span class="nx">name</span> <span class="o">==</span> <span class="s1">&#39;modules&#39;</span><span class="p">)</span> <span class="p">{</span>
                <span class="k">for</span> <span class="p">(</span><span class="nx">detail</span> <span class="k">in</span> <span class="nx">attr</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">mods</span><span class="p">[</span><span class="nx">detail</span><span class="p">]</span> <span class="o">=</span> <span class="nx">attr</span><span class="p">[</span><span class="nx">detail</span><span class="p">];</span>
                <span class="p">}</span>
            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">groups</span> <span class="o">&amp;&amp;</span> <span class="nx">name</span> <span class="o">==</span> <span class="s1">&#39;groups&#39;</span><span class="p">)</span> <span class="p">{</span>
                <span class="k">for</span> <span class="p">(</span><span class="nx">detail</span> <span class="k">in</span> <span class="nx">attr</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">groups</span><span class="p">[</span><span class="nx">detail</span><span class="p">]</span> <span class="o">=</span> <span class="nx">attr</span><span class="p">[</span><span class="nx">detail</span><span class="p">];</span>
                <span class="p">}</span>
            <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">name</span> <span class="o">==</span> <span class="s1">&#39;win&#39;</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">config</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="nx">attr</span><span class="p">.</span><span class="nx">contentWindow</span> <span class="o">||</span> <span class="nx">attr</span><span class="p">;</span>
                <span class="nx">config</span><span class="p">.</span><span class="nx">doc</span> <span class="o">=</span> <span class="nx">config</span><span class="p">[</span><span class="nx">name</span><span class="p">].</span><span class="nb">document</span><span class="p">;</span>
            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                <span class="nx">config</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="nx">attr</span><span class="p">;</span>
            <span class="p">}</span>
        <span class="p">}</span>
    <span class="p">},</span>

    <span class="cm">/**</span>
<span class="cm">     * Initialize this YUI instance</span>
<span class="cm">     * @private</span>
<span class="cm">     */</span>
    <span class="nx">_init</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
        <span class="kd">var</span> <span class="nx">filter</span><span class="p">,</span>
            <span class="nx">Y</span>     <span class="o">=</span> <span class="k">this</span><span class="p">,</span> 
            <span class="nx">G_ENV</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">,</span>
            <span class="nx">Env</span>   <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Env</span><span class="p">;</span>

        <span class="nx">Y</span><span class="p">.</span><span class="nx">version</span> <span class="o">=</span> <span class="nx">VERSION</span><span class="p">;</span>

        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">Env</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">Env</span> <span class="o">=</span> <span class="p">{</span>
                <span class="nx">mods</span><span class="o">:</span>         <span class="p">{},</span>
                <span class="nx">base</span><span class="o">:</span>         <span class="nx">BASE</span><span class="p">,</span>
                <span class="nx">cdn</span><span class="o">:</span>          <span class="nx">BASE</span> <span class="o">+</span> <span class="nx">VERSION</span> <span class="o">+</span> <span class="s1">&#39;/build/&#39;</span><span class="p">,</span>
                <span class="nx">bootstrapped</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>
                <span class="nx">_idx</span><span class="o">:</span>         <span class="mi">0</span><span class="p">,</span>
                <span class="nx">_used</span><span class="o">:</span>        <span class="p">{},</span>
                <span class="nx">_attached</span><span class="o">:</span>    <span class="p">{},</span>
                <span class="nx">_yidx</span><span class="o">:</span>        <span class="mi">0</span><span class="p">,</span>
                <span class="nx">_uidx</span><span class="o">:</span>        <span class="mi">0</span><span class="p">,</span>
                <span class="nx">_guidp</span><span class="o">:</span>       <span class="s1">&#39;y&#39;</span><span class="p">,</span>
                <span class="nx">_loaded</span><span class="o">:</span>      <span class="p">{},</span>
                <span class="nx">getBase</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">srcPattern</span><span class="p">,</span> <span class="nx">comboPattern</span><span class="p">)</span> <span class="p">{</span>
                    <span class="kd">var</span> <span class="nx">b</span><span class="p">,</span> <span class="nx">nodes</span><span class="p">,</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">src</span><span class="p">,</span> <span class="nx">match</span><span class="p">;</span>
                    <span class="c1">// get from querystring</span>
                    <span class="nx">nodes</span> <span class="o">=</span> <span class="p">(</span><span class="nx">doc</span> <span class="o">&amp;&amp;</span> <span class="nx">doc</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s1">&#39;script&#39;</span><span class="p">))</span> <span class="o">||</span> <span class="p">[];</span>
                    <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">nodes</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
                        <span class="nx">src</span> <span class="o">=</span> <span class="nx">nodes</span><span class="p">[</span><span class="nx">i</span><span class="p">].</span><span class="nx">src</span><span class="p">;</span>
                        <span class="k">if</span> <span class="p">(</span><span class="nx">src</span><span class="p">)</span> <span class="p">{</span>
                            <span class="c1">//src = &quot;http://yui.yahooapis.com/combo?2.8.0r4/b</span>
                            <span class="c1">//uild/yuiloader-dom-event/yuiloader-dom-event.js</span>
                            <span class="c1">//&amp;3.0.0/build/yui/yui-min.js&quot;; // debug url</span>
                            <span class="c1">//Y.log(&#39;src) &#39; + src);</span>
                            <span class="nx">match</span> <span class="o">=</span> <span class="nx">src</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">srcPattern</span><span class="p">);</span>
                            <span class="nx">b</span> <span class="o">=</span> <span class="nx">match</span> <span class="o">&amp;&amp;</span> <span class="nx">match</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
                            <span class="k">if</span> <span class="p">(</span><span class="nx">b</span><span class="p">)</span> <span class="p">{</span>
                                <span class="c1">// this is to set up the path to the loader.  The file </span>
                                <span class="c1">// filter for loader should match the yui include.</span>
                                <span class="nx">filter</span> <span class="o">=</span> <span class="nx">match</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
                                <span class="c1">// extract correct path for mixed combo urls</span>
                                <span class="c1">// http://yuilibrary.com/projects/yui3/ticket/2528423</span>
                                <span class="nx">match</span> <span class="o">=</span> <span class="nx">src</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="nx">comboPattern</span><span class="p">);</span>
                                <span class="k">if</span> <span class="p">(</span><span class="nx">match</span> <span class="o">&amp;&amp;</span> <span class="nx">match</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span> <span class="p">{</span>
                                    <span class="nx">b</span> <span class="o">=</span> <span class="nx">match</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="nx">match</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span>
                                <span class="p">}</span>

                                <span class="k">break</span><span class="p">;</span>
                            <span class="p">}</span>
                        <span class="p">}</span>
                    <span class="p">}</span>

                    <span class="c1">// use CDN default</span>
                    <span class="k">return</span> <span class="nx">b</span> <span class="o">||</span> <span class="nx">Env</span><span class="p">.</span><span class="nx">cdn</span><span class="p">;</span>
                <span class="p">}</span>
            <span class="p">};</span>

            <span class="nx">Env</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Env</span><span class="p">;</span>

            <span class="nx">Env</span><span class="p">.</span><span class="nx">_loaded</span><span class="p">[</span><span class="nx">VERSION</span><span class="p">]</span> <span class="o">=</span> <span class="p">{};</span>

            <span class="k">if</span> <span class="p">(</span><span class="nx">G_ENV</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span> <span class="o">!==</span> <span class="nx">YUI</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">Env</span><span class="p">.</span><span class="nx">_yidx</span>  <span class="o">=</span> <span class="o">++</span><span class="nx">G_ENV</span><span class="p">.</span><span class="nx">_yidx</span><span class="p">;</span>
                <span class="nx">Env</span><span class="p">.</span><span class="nx">_guidp</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;yui_&#39;</span> <span class="o">+</span> <span class="nx">VERSION</span> <span class="o">+</span> <span class="s1">&#39;_&#39;</span> <span class="o">+</span> 
                             <span class="nx">Env</span><span class="p">.</span><span class="nx">_yidx</span> <span class="o">+</span> <span class="s1">&#39;_&#39;</span> <span class="o">+</span> <span class="nx">time</span><span class="p">).</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\./g</span><span class="p">,</span> <span class="s1">&#39;_&#39;</span><span class="p">);</span>
            <span class="p">}</span>

            <span class="nx">Y</span><span class="p">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">stamp</span><span class="p">(</span><span class="nx">Y</span><span class="p">);</span>
            <span class="nx">instances</span><span class="p">[</span><span class="nx">Y</span><span class="p">.</span><span class="nx">id</span><span class="p">]</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">;</span>

        <span class="p">}</span>

        <span class="nx">Y</span><span class="p">.</span><span class="nx">constructor</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">;</span>

        <span class="c1">// configuration defaults</span>
        <span class="nx">Y</span><span class="p">.</span><span class="nx">config</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">config</span> <span class="o">||</span> <span class="p">{</span>
            <span class="nx">win</span><span class="o">:</span>               <span class="nx">win</span><span class="p">,</span>
            <span class="nx">doc</span><span class="o">:</span>               <span class="nx">doc</span><span class="p">,</span>
            <span class="nx">debug</span><span class="o">:</span>             <span class="kc">true</span><span class="p">,</span>
            <span class="nx">useBrowserConsole</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span>
            <span class="nx">throwFail</span><span class="o">:</span>         <span class="kc">true</span><span class="p">,</span>
            <span class="nx">bootstrap</span><span class="o">:</span>         <span class="kc">true</span><span class="p">,</span>
            <span class="nx">fetchCSS</span><span class="o">:</span>          <span class="kc">true</span>
        <span class="p">};</span>

        <span class="nx">Y</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">base</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">base</span> <span class="o">||</span> 
            <span class="nx">Y</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">getBase</span><span class="p">(</span><span class="sr">/^(.*)yui\/yui([\.\-].*)js(\?.*)?$/</span><span class="p">,</span> 
                          <span class="sr">/^(.*\?)(.*\&amp;)(.*)yui\/yui[\.\-].*js(\?.*)?$/</span><span class="p">);</span>

        <span class="nx">Y</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">loaderPath</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">loaderPath</span> <span class="o">||</span> 
            <span class="s1">&#39;loader/loader&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="nx">filter</span> <span class="o">||</span> <span class="s1">&#39;-min.&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;js&#39;</span><span class="p">;</span>

    <span class="p">},</span>
    
    <span class="cm">/**</span>
<span class="cm">     * Finishes the instance setup. Attaches whatever modules were defined</span>
<span class="cm">     * when the yui modules was registered.</span>
<span class="cm">     * @method _setup</span>
<span class="cm">     * @private</span>
<span class="cm">     */</span>
    <span class="nx">_setup</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">o</span><span class="p">)</span> <span class="p">{</span>

        <span class="kd">var</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">Y</span> <span class="o">=</span> <span class="k">this</span><span class="p">,</span>
            <span class="nx">core</span> <span class="o">=</span> <span class="p">[],</span>
            <span class="nx">mods</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">mods</span><span class="p">,</span>
            <span class="nx">extras</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">core</span> <span class="o">||</span> <span class="p">[</span><span class="s1">&#39;get&#39;</span><span class="p">,</span> <span class="s1">&#39;intl-base&#39;</span><span class="p">,</span> <span class="s1">&#39;loader&#39;</span><span class="p">,</span> <span class="s1">&#39;yui-log&#39;</span><span class="p">,</span> <span class="s1">&#39;yui-later&#39;</span><span class="p">,</span> <span class="s1">&#39;yui-throttle&#39;</span><span class="p">];</span>


        <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">extras</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
            <span class="k">if</span> <span class="p">(</span><span class="nx">mods</span><span class="p">[</span><span class="nx">extras</span><span class="p">[</span><span class="nx">i</span><span class="p">]])</span> <span class="p">{</span>
                <span class="nx">core</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">extras</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span>
            <span class="p">}</span>
        <span class="p">}</span>

        <span class="nx">Y</span><span class="p">.</span><span class="nx">use</span><span class="p">(</span><span class="s1">&#39;yui-base&#39;</span><span class="p">);</span>
        <span class="nx">Y</span><span class="p">.</span><span class="nx">use</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">Y</span><span class="p">,</span> <span class="nx">core</span><span class="p">);</span>

        <span class="c1">// Y.log(Y.id + &#39; initialized&#39;, &#39;info&#39;, &#39;yui&#39;);</span>
    <span class="p">},</span>

    <span class="cm">/**</span>
<span class="cm">     * Executes a method on a YUI instance with</span>
<span class="cm">     * the specified id if the specified method is whitelisted.</span>
<span class="cm">     * @method applyTo</span>
<span class="cm">     * @param id {string} the YUI instance id</span>
<span class="cm">     * @param method {string} the name of the method to exectute.</span>
<span class="cm">     * Ex: &#39;Object.keys&#39;</span>
<span class="cm">     * @param args {Array} the arguments to apply to the method</span>
<span class="cm">     * @return {object} the return value from the applied method or null</span>
<span class="cm">     */</span>
    <span class="nx">applyTo</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">id</span><span class="p">,</span> <span class="nx">method</span><span class="p">,</span> <span class="nx">args</span><span class="p">)</span> <span class="p">{</span>

        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="p">(</span><span class="nx">method</span> <span class="k">in</span> <span class="nx">APPLY_TO_AUTH</span><span class="p">))</span> <span class="p">{</span>
            <span class="k">this</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">method</span> <span class="o">+</span> <span class="s1">&#39;: applyTo not allowed&#39;</span><span class="p">,</span> <span class="s1">&#39;warn&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
            <span class="k">return</span> <span class="kc">null</span><span class="p">;</span>
        <span class="p">}</span>

        <span class="kd">var</span> <span class="nx">instance</span> <span class="o">=</span> <span class="nx">instances</span><span class="p">[</span><span class="nx">id</span><span class="p">],</span> <span class="nx">nest</span><span class="p">,</span> <span class="nx">m</span><span class="p">,</span> <span class="nx">i</span><span class="p">;</span>
        <span class="k">if</span> <span class="p">(</span><span class="nx">instance</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">nest</span> <span class="o">=</span> <span class="nx">method</span><span class="p">.</span><span class="nx">split</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">);</span> 
            <span class="nx">m</span> <span class="o">=</span> <span class="nx">instance</span><span class="p">;</span>
            <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">nest</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">m</span> <span class="o">=</span> <span class="nx">m</span><span class="p">[</span><span class="nx">nest</span><span class="p">[</span><span class="nx">i</span><span class="p">]];</span>
                <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
                    <span class="k">this</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;applyTo not found: &#39;</span> <span class="o">+</span> <span class="nx">method</span><span class="p">,</span> <span class="s1">&#39;warn&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
                <span class="p">}</span>
            <span class="p">}</span>
            <span class="k">return</span> <span class="nx">m</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">instance</span><span class="p">,</span> <span class="nx">args</span><span class="p">);</span>
        <span class="p">}</span>

        <span class="k">return</span> <span class="kc">null</span><span class="p">;</span>
    <span class="p">},</span> 

    <span class="cm">/**</span>
<span class="cm">     * Registers a module with the YUI global.  The easiest way to create a </span>
<span class="cm">     * first-class YUI module is to use the YUI component build tool.  </span>
<span class="cm">     *</span>
<span class="cm">     * http://yuilibrary.com/projects/builder </span>
<span class="cm">     *</span>
<span class="cm">     * The build system will produce the YUI.add wrapper for you module, along</span>
<span class="cm">     * with any configuration info required for the module.</span>
<span class="cm">     * @method add</span>
<span class="cm">     * @param name {string} module name</span>
<span class="cm">     * @param fn {Function} entry point into the module that</span>
<span class="cm">     * is used to bind module to the YUI instance</span>
<span class="cm">     * @param version {string} version string</span>
<span class="cm">     * @param details optional config data: </span>
<span class="cm">     * requires: features that must be present before this module can be attached.</span>
<span class="cm">     * optional: optional features that should be present if loadOptional is</span>
<span class="cm">     *           defined.  Note: modules are not often loaded this way in YUI 3,</span>
<span class="cm">     *           but this field is still useful to inform the user that certain</span>
<span class="cm">     *           features in the component will require additional dependencies.</span>
<span class="cm">     * use:      features that are included within this module which need to be</span>
<span class="cm">     *           be attached automatically when this module is attached.  This</span>
<span class="cm">     *           supports the YUI 3 rollup system -- a module with submodules </span>
<span class="cm">     *           defined will need to have the submodules listed in the &#39;use&#39;</span>
<span class="cm">     *           config.  The YUI component build tool does this for you.</span>
<span class="cm">     * @return {YUI} the YUI instance</span>
<span class="cm">     *</span>
<span class="cm">     */</span>
    <span class="nx">add</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">name</span><span class="p">,</span> <span class="nx">fn</span><span class="p">,</span> <span class="nx">version</span><span class="p">,</span> <span class="nx">details</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">details</span> <span class="o">=</span> <span class="nx">details</span> <span class="o">||</span> <span class="p">{};</span>

        <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">mods</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span>
            <span class="nx">name</span><span class="o">:</span> <span class="nx">name</span><span class="p">,</span> 
            <span class="nx">fn</span><span class="o">:</span> <span class="nx">fn</span><span class="p">,</span>
            <span class="nx">version</span><span class="o">:</span> <span class="nx">version</span><span class="p">,</span>
            <span class="nx">details</span><span class="o">:</span> <span class="nx">details</span>
        <span class="p">};</span>

        <span class="k">return</span> <span class="k">this</span><span class="p">;</span>
    <span class="p">},</span>

    <span class="cm">/**</span>
<span class="cm">     * Executes the function associated with each required</span>
<span class="cm">     * module, binding the module to the YUI instance.</span>
<span class="cm">     * @method _attach</span>
<span class="cm">     * @private</span>
<span class="cm">     */</span>
    <span class="nx">_attach</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">r</span><span class="p">,</span> <span class="nx">fromLoader</span><span class="p">)</span> <span class="p">{</span>
        <span class="kd">var</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">name</span><span class="p">,</span> <span class="nx">mod</span><span class="p">,</span> <span class="nx">details</span><span class="p">,</span> <span class="nx">req</span><span class="p">,</span> <span class="nx">use</span><span class="p">,</span>
            <span class="nx">mods</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">mods</span><span class="p">,</span>
            <span class="nx">done</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">_attached</span><span class="p">,</span>
            <span class="nx">len</span>  <span class="o">=</span> <span class="nx">r</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>

        <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">len</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">name</span> <span class="o">=</span> <span class="nx">r</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span> 
            <span class="nx">mod</span>  <span class="o">=</span> <span class="nx">mods</span><span class="p">[</span><span class="nx">name</span><span class="p">];</span>
            <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">done</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">&amp;&amp;</span> <span class="nx">mod</span><span class="p">)</span> <span class="p">{</span>

                <span class="nx">done</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
                <span class="nx">details</span>    <span class="o">=</span> <span class="nx">mod</span><span class="p">.</span><span class="nx">details</span><span class="p">;</span> 
                <span class="nx">req</span>        <span class="o">=</span> <span class="nx">details</span><span class="p">.</span><span class="nx">requires</span><span class="p">;</span> 
                <span class="nx">use</span>        <span class="o">=</span> <span class="nx">details</span><span class="p">.</span><span class="nx">use</span><span class="p">;</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">req</span> <span class="o">&amp;&amp;</span> <span class="nx">req</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span>
                    <span class="k">this</span><span class="p">.</span><span class="nx">_attach</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nb">Array</span><span class="p">(</span><span class="nx">req</span><span class="p">));</span>
                <span class="p">}</span>

                <span class="c1">// this.log(&#39;attaching &#39; + name, &#39;info&#39;, &#39;yui&#39;);</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">mod</span><span class="p">.</span><span class="nx">fn</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">mod</span><span class="p">.</span><span class="nx">fn</span><span class="p">(</span><span class="k">this</span><span class="p">,</span> <span class="nx">name</span><span class="p">);</span>
                <span class="p">}</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">use</span> <span class="o">&amp;&amp;</span> <span class="nx">use</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span>
                    <span class="k">this</span><span class="p">.</span><span class="nx">_attach</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nb">Array</span><span class="p">(</span><span class="nx">use</span><span class="p">));</span>
                <span class="p">}</span>
            <span class="p">}</span>
        <span class="p">}</span>
    <span class="p">},</span>

    <span class="cm">/**</span>
<span class="cm">     * Attaches one or more modules to the YUI instance.  When this</span>
<span class="cm">     * is executed, the requirements are analyzed, and one of </span>
<span class="cm">     * several things can happen:</span>
<span class="cm">     *</span>
<span class="cm">     * - All requirements are available on the page --  The modules</span>
<span class="cm">     *   are attached to the instance.  If supplied, the use callback</span>
<span class="cm">     *   is executed synchronously.  </span>
<span class="cm">     *</span>
<span class="cm">     * - Modules are missing, the Get utility is not available OR</span>
<span class="cm">     *   the &#39;bootstrap&#39; config is false -- A warning is issued about</span>
<span class="cm">     *   the missing modules and all available modules are attached.</span>
<span class="cm">     *</span>
<span class="cm">     * - Modules are missing, the Loader is not available but the Get</span>
<span class="cm">     *   utility is and boostrap is not false -- The loader is bootstrapped</span>
<span class="cm">     *   before doing the following....</span>
<span class="cm">     *</span>
<span class="cm">     * - Modules are missing and the Loader is available -- The loader</span>
<span class="cm">     *   expands the dependency tree and fetches missing modules.  When</span>
<span class="cm">     *   the loader is finshed the callback supplied to use is executed</span>
<span class="cm">     *   asynchronously.</span>
<span class="cm">     *</span>
<span class="cm">     * @param modules* {string} 1-n modules to bind (uses arguments array)</span>
<span class="cm">     * @param *callback {function} callback function executed when </span>
<span class="cm">     * the instance has the required functionality.  If included, it</span>
<span class="cm">     * must be the last parameter.</span>
<span class="cm">     * &lt;code&gt;</span>
<span class="cm">     * // loads and attaches drag and drop and its dependencies</span>
<span class="cm">     * YUI().use(&#39;dd&#39;, function(Y) &amp;#123;&amp;#125);</span>
<span class="cm">     * // attaches all modules that are available on the page</span>
<span class="cm">     * YUI().use(&#39;*&#39;, function(Y) &amp;#123;&amp;#125);</span>
<span class="cm">     * // intrinsic YUI gallery support (since 3.1.0)</span>
<span class="cm">     * YUI().use(&#39;gallery-yql&#39;, function(Y) &amp;#123;&amp;#125);</span>
<span class="cm">     * // intrinsic YUI 2in3 support (since 3.1.0)</span>
<span class="cm">     * YUI().use(&#39;yui2-datatable&#39;, function(Y) &amp;#123;&amp;#125);</span>
<span class="cm">     * &lt;/code&gt;</span>
<span class="cm">     *</span>
<span class="cm">     * @return {YUI} the YUI instance</span>
<span class="cm">     */</span>
    <span class="nx">use</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>

        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">this</span><span class="p">.</span><span class="nb">Array</span><span class="p">)</span> <span class="p">{</span>
            <span class="k">this</span><span class="p">.</span><span class="nx">_attach</span><span class="p">([</span><span class="s1">&#39;yui-base&#39;</span><span class="p">]);</span>
        <span class="p">}</span>

        <span class="kd">var</span> <span class="nx">len</span><span class="p">,</span> <span class="nx">loader</span><span class="p">,</span> <span class="nx">handleBoot</span><span class="p">,</span>
            <span class="nx">Y</span>        <span class="o">=</span> <span class="k">this</span><span class="p">,</span> 
            <span class="nx">G_ENV</span>    <span class="o">=</span> <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">,</span>
            <span class="nx">args</span>     <span class="o">=</span> <span class="nx">SLICE</span><span class="p">.</span><span class="nx">call</span><span class="p">(</span><span class="nx">arguments</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> 
            <span class="nx">mods</span>     <span class="o">=</span> <span class="nx">G_ENV</span><span class="p">.</span><span class="nx">mods</span><span class="p">,</span> 
            <span class="nx">Env</span>      <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Env</span><span class="p">,</span>
            <span class="nx">used</span>     <span class="o">=</span> <span class="nx">Env</span><span class="p">.</span><span class="nx">_used</span><span class="p">,</span>
            <span class="nx">queue</span>    <span class="o">=</span> <span class="nx">G_ENV</span><span class="p">.</span><span class="nx">_loaderQueue</span><span class="p">,</span>
            <span class="nx">firstArg</span> <span class="o">=</span> <span class="nx">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> 
            <span class="nx">callback</span> <span class="o">=</span> <span class="nx">args</span><span class="p">[</span><span class="nx">args</span><span class="p">.</span><span class="nx">length</span> <span class="o">-</span> <span class="mi">1</span><span class="p">],</span>
            <span class="nx">YArray</span>   <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nb">Array</span><span class="p">,</span>
            <span class="nx">config</span>   <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">config</span><span class="p">,</span>
            <span class="nx">boot</span>     <span class="o">=</span> <span class="nx">config</span><span class="p">.</span><span class="nx">bootstrap</span><span class="p">,</span>
            <span class="nx">missing</span>  <span class="o">=</span> <span class="p">[],</span> 
            <span class="nx">r</span>        <span class="o">=</span> <span class="p">[],</span> 
            <span class="nx">fetchCSS</span> <span class="o">=</span> <span class="nx">config</span><span class="p">.</span><span class="nx">fetchCSS</span><span class="p">,</span>
            <span class="nx">process</span>  <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">name</span><span class="p">)</span> <span class="p">{</span>

                <span class="c1">// add this module to full list of things to attach</span>
                <span class="nx">r</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">name</span><span class="p">);</span>

                <span class="c1">// only attach a module once</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">used</span><span class="p">[</span><span class="nx">name</span><span class="p">])</span> <span class="p">{</span>
                    <span class="k">return</span><span class="p">;</span>
                <span class="p">}</span>

                <span class="kd">var</span> <span class="nx">m</span> <span class="o">=</span> <span class="nx">mods</span><span class="p">[</span><span class="nx">name</span><span class="p">],</span> <span class="nx">req</span><span class="p">,</span> <span class="nx">use</span><span class="p">;</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">used</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
                    <span class="nx">req</span> <span class="o">=</span> <span class="nx">m</span><span class="p">.</span><span class="nx">details</span><span class="p">.</span><span class="nx">requires</span><span class="p">;</span>
                    <span class="nx">use</span> <span class="o">=</span> <span class="nx">m</span><span class="p">.</span><span class="nx">details</span><span class="p">.</span><span class="nx">use</span><span class="p">;</span>
                <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                    <span class="c1">// CSS files don&#39;t register themselves, see if it has been loaded</span>
                    <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">G_ENV</span><span class="p">.</span><span class="nx">_loaded</span><span class="p">[</span><span class="nx">VERSION</span><span class="p">][</span><span class="nx">name</span><span class="p">])</span> <span class="p">{</span>
                        <span class="nx">missing</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">name</span><span class="p">);</span>
                    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                        <span class="nx">used</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span> <span class="c1">// probably css</span>
                    <span class="p">}</span>
                <span class="p">}</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">req</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// make sure requirements are attached</span>
                    <span class="nx">YArray</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">YArray</span><span class="p">(</span><span class="nx">req</span><span class="p">),</span> <span class="nx">process</span><span class="p">);</span>
                <span class="p">}</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">use</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// make sure we grab the submodule dependencies too</span>
                    <span class="nx">YArray</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">YArray</span><span class="p">(</span><span class="nx">use</span><span class="p">),</span> <span class="nx">process</span><span class="p">);</span>
                <span class="p">}</span>


            <span class="p">},</span>

            <span class="nx">handleLoader</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">fromLoader</span><span class="p">)</span> <span class="p">{</span>
                <span class="kd">var</span> <span class="nx">response</span> <span class="o">=</span> <span class="nx">fromLoader</span> <span class="o">||</span> <span class="p">{</span>
                        <span class="nx">success</span><span class="o">:</span> <span class="kc">true</span><span class="p">,</span>
                        <span class="nx">msg</span><span class="o">:</span> <span class="s1">&#39;not dynamic&#39;</span>
                    <span class="p">},</span> 
                    <span class="nx">newData</span><span class="p">,</span> <span class="nx">redo</span><span class="p">,</span> <span class="nx">origMissing</span><span class="p">,</span>
                    <span class="nx">data</span> <span class="o">=</span> <span class="nx">response</span><span class="p">.</span><span class="nx">data</span><span class="p">;</span>

                <span class="nx">Y</span><span class="p">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>

                <span class="c1">// Y.log(&#39;Use complete: &#39; + data);</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">origMissing</span> <span class="o">=</span> <span class="nx">missing</span><span class="p">.</span><span class="nx">concat</span><span class="p">();</span>
                    <span class="nx">missing</span> <span class="o">=</span> <span class="p">[];</span>
                    <span class="nx">Y</span><span class="p">.</span><span class="nb">Array</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">data</span><span class="p">,</span> <span class="nx">process</span><span class="p">);</span>
                    <span class="nx">redo</span> <span class="o">=</span> <span class="nx">missing</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
                    <span class="k">if</span> <span class="p">(</span><span class="nx">redo</span><span class="p">)</span> <span class="p">{</span>
                        <span class="k">if</span> <span class="p">(</span><span class="nx">missing</span><span class="p">.</span><span class="nx">sort</span><span class="p">().</span><span class="nx">join</span><span class="p">()</span> <span class="o">==</span> <span class="nx">origMissing</span><span class="p">.</span><span class="nx">sort</span><span class="p">().</span><span class="nx">join</span><span class="p">())</span> <span class="p">{</span>
                            <span class="nx">redo</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
                        <span class="p">}</span>
                    <span class="p">}</span>
                <span class="p">}</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">redo</span> <span class="o">&amp;&amp;</span> <span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
                    <span class="c1">// Y.log(&#39;redo: &#39; + r);</span>
                    <span class="c1">// Y.log(&#39;redo: &#39; + missing);</span>
                    <span class="c1">// Y.log(&#39;redo: &#39; + args);</span>
                    <span class="nx">newData</span> <span class="o">=</span> <span class="nx">data</span><span class="p">.</span><span class="nx">concat</span><span class="p">();</span>
                    <span class="nx">newData</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
                        <span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Nested USE callback: &#39;</span> <span class="o">+</span> <span class="nx">data</span><span class="p">,</span> <span class="s1">&#39;info&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
                        <span class="nx">Y</span><span class="p">.</span><span class="nx">_attach</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
                        <span class="k">if</span> <span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
                            <span class="nx">callback</span><span class="p">(</span><span class="nx">Y</span><span class="p">,</span> <span class="nx">response</span><span class="p">);</span>
                        <span class="p">}</span>
                    <span class="p">});</span>
                    <span class="nx">Y</span><span class="p">.</span><span class="nx">_loading</span>  <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
                    <span class="nx">Y</span><span class="p">.</span><span class="nx">use</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">Y</span><span class="p">,</span> <span class="nx">newData</span><span class="p">);</span>
                <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                    <span class="k">if</span> <span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span>
                        <span class="nx">Y</span><span class="p">.</span><span class="nx">_attach</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
                    <span class="p">}</span>
                    <span class="k">if</span> <span class="p">(</span><span class="nx">callback</span><span class="p">)</span> <span class="p">{</span>
                        <span class="nx">callback</span><span class="p">(</span><span class="nx">Y</span><span class="p">,</span> <span class="nx">response</span><span class="p">);</span>
                    <span class="p">}</span>
                <span class="p">}</span>

                <span class="k">if</span> <span class="p">(</span><span class="nx">Y</span><span class="p">.</span><span class="nx">_useQueue</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">_useQueue</span><span class="p">.</span><span class="nx">size</span><span class="p">()</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">Y</span><span class="p">.</span><span class="nx">_loading</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">Y</span><span class="p">.</span><span class="nx">use</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">Y</span><span class="p">,</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">_useQueue</span><span class="p">.</span><span class="nx">next</span><span class="p">());</span>
                <span class="p">}</span>
            <span class="p">};</span>


        <span class="k">if</span> <span class="p">(</span><span class="nx">Y</span><span class="p">.</span><span class="nx">_loading</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">_useQueue</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">_useQueue</span> <span class="o">||</span> <span class="k">new</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Queue</span><span class="p">();</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">_useQueue</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="nx">args</span><span class="p">);</span>
            <span class="k">return</span> <span class="nx">Y</span><span class="p">;</span>
        <span class="p">}</span>

        <span class="c1">// Y.log(Y.id + &#39;: use called: &#39; + a + &#39; :: &#39; + callback, &#39;info&#39;, &#39;yui&#39;);</span>

        <span class="c1">// The last argument supplied to use can be a load complete callback</span>
        <span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">callback</span> <span class="o">===</span> <span class="s1">&#39;function&#39;</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">args</span><span class="p">.</span><span class="nx">pop</span><span class="p">();</span>
        <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="nx">callback</span> <span class="o">=</span> <span class="kc">null</span><span class="p">;</span>
        <span class="p">}</span>
 
        <span class="c1">// YUI().use(&#39;*&#39;); // bind everything available</span>
        <span class="k">if</span> <span class="p">(</span><span class="nx">firstArg</span> <span class="o">===</span> <span class="s2">&quot;*&quot;</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">args</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nb">Object</span><span class="p">.</span><span class="nx">keys</span><span class="p">(</span><span class="nx">mods</span><span class="p">);</span>
        <span class="p">}</span>
        
        <span class="c1">// use loader to expand dependencies and sort the </span>
        <span class="c1">// requirements if it is available.</span>
        <span class="k">if</span> <span class="p">(</span><span class="nx">Y</span><span class="p">.</span><span class="nx">Loader</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">loader</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Loader</span><span class="p">(</span><span class="nx">config</span><span class="p">);</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">require</span><span class="p">(</span><span class="nx">args</span><span class="p">);</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">ignoreRegistered</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
            <span class="c1">// loader.allowRollup = false;</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">calculate</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="p">(</span><span class="nx">fetchCSS</span><span class="p">)</span> <span class="o">?</span> <span class="kc">null</span> <span class="o">:</span> <span class="s1">&#39;js&#39;</span><span class="p">);</span>
            <span class="nx">args</span> <span class="o">=</span> <span class="nx">loader</span><span class="p">.</span><span class="nx">sorted</span><span class="p">;</span>
        <span class="p">}</span>

        <span class="c1">// process each requirement and any additional requirements </span>
        <span class="c1">// the module metadata specifies</span>
        <span class="nx">YArray</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">args</span><span class="p">,</span> <span class="nx">process</span><span class="p">);</span>

        <span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Module requirements: &#39;</span> <span class="o">+</span> <span class="nx">args</span><span class="p">,</span> <span class="s1">&#39;info&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
        <span class="nx">len</span> <span class="o">=</span> <span class="nx">missing</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>

        <span class="k">if</span> <span class="p">(</span><span class="nx">len</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">missing</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">.</span><span class="nb">Object</span><span class="p">.</span><span class="nx">keys</span><span class="p">(</span><span class="nx">YArray</span><span class="p">.</span><span class="nx">hash</span><span class="p">(</span><span class="nx">missing</span><span class="p">));</span>
            <span class="nx">len</span> <span class="o">=</span> <span class="nx">missing</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Modules missing: &#39;</span> <span class="o">+</span> <span class="nx">missing</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="nx">missing</span><span class="p">.</span><span class="nx">length</span><span class="p">,</span> <span class="s1">&#39;info&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
        <span class="p">}</span>

        <span class="c1">// dynamic load</span>
        <span class="k">if</span> <span class="p">(</span><span class="nx">boot</span> <span class="o">&amp;&amp;</span> <span class="nx">len</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Loader</span><span class="p">)</span> <span class="p">{</span>
            <span class="c1">// Y.log(&#39;Using loader to fetch missing dependencies: &#39; + missing, &#39;info&#39;, &#39;yui&#39;);</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Using Loader&#39;</span><span class="p">,</span> <span class="s1">&#39;info&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
            <span class="nx">loader</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Loader</span><span class="p">(</span><span class="nx">config</span><span class="p">);</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">onEnd</span> <span class="o">=</span> <span class="nx">handleLoader</span><span class="p">;</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">context</span> <span class="o">=</span> <span class="nx">Y</span><span class="p">;</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">attaching</span> <span class="o">=</span> <span class="nx">args</span><span class="p">;</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">data</span> <span class="o">=</span> <span class="nx">args</span><span class="p">;</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">require</span><span class="p">((</span><span class="nx">fetchCSS</span><span class="p">)</span> <span class="o">?</span> <span class="nx">missing</span> <span class="o">:</span> <span class="nx">args</span><span class="p">);</span>
            <span class="nx">loader</span><span class="p">.</span><span class="nx">insert</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="p">(</span><span class="nx">fetchCSS</span><span class="p">)</span> <span class="o">?</span> <span class="kc">null</span> <span class="o">:</span> <span class="s1">&#39;js&#39;</span><span class="p">);</span>
        <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">boot</span> <span class="o">&amp;&amp;</span> <span class="nx">len</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">Get</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">Env</span><span class="p">.</span><span class="nx">bootstrapped</span><span class="p">)</span> <span class="p">{</span>

            <span class="nx">Y</span><span class="p">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
            <span class="nx">args</span> <span class="o">=</span> <span class="nx">YArray</span><span class="p">(</span><span class="nx">arguments</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>

            <span class="nx">handleBoot</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
                <span class="nx">queue</span><span class="p">.</span><span class="nx">running</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
                <span class="nx">Env</span><span class="p">.</span><span class="nx">bootstrapped</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">_attach</span><span class="p">([</span><span class="s1">&#39;loader&#39;</span><span class="p">]);</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">use</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nx">Y</span><span class="p">,</span> <span class="nx">args</span><span class="p">);</span>
            <span class="p">};</span>

            <span class="k">if</span> <span class="p">(</span><span class="nx">G_ENV</span><span class="p">.</span><span class="nx">_bootstrapping</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Waiting for loader: &#39;</span> <span class="o">+</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">id</span><span class="p">,</span> <span class="s1">&#39;info&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
                <span class="nx">queue</span><span class="p">.</span><span class="nx">add</span><span class="p">(</span><span class="nx">handleBoot</span><span class="p">);</span>
            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                <span class="nx">G_ENV</span><span class="p">.</span><span class="nx">_bootstrapping</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
<span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Fetching loader: &#39;</span> <span class="o">+</span> <span class="nx">Y</span><span class="p">.</span><span class="nx">id</span> <span class="o">+</span> <span class="s2">&quot;, &quot;</span> <span class="o">+</span> <span class="nx">config</span><span class="p">.</span><span class="nx">base</span> <span class="o">+</span> <span class="nx">config</span><span class="p">.</span><span class="nx">loaderPath</span><span class="p">,</span> <span class="s1">&#39;info&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">Get</span><span class="p">.</span><span class="nx">script</span><span class="p">(</span><span class="nx">config</span><span class="p">.</span><span class="nx">base</span> <span class="o">+</span> <span class="nx">config</span><span class="p">.</span><span class="nx">loaderPath</span><span class="p">,</span> <span class="p">{</span>
                    <span class="nx">onEnd</span><span class="o">:</span> <span class="nx">handleBoot</span> 
                <span class="p">});</span>
            <span class="p">}</span>

        <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="k">if</span> <span class="p">(</span><span class="nx">len</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">Y</span><span class="p">.</span><span class="nx">message</span><span class="p">(</span><span class="s1">&#39;Requirement NOT loaded: &#39;</span> <span class="o">+</span> <span class="nx">missing</span><span class="p">,</span> <span class="s1">&#39;warn&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
<span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;This instance is not provisioned to fetch missing modules: &#39;</span> <span class="o">+</span> <span class="nx">missing</span><span class="p">,</span> <span class="s1">&#39;log&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
            <span class="p">}</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s1">&#39;Attaching available dependencies.&#39;</span><span class="p">,</span> <span class="s1">&#39;info&#39;</span><span class="p">,</span> <span class="s1">&#39;yui&#39;</span><span class="p">);</span>
            <span class="nx">Y</span><span class="p">.</span><span class="nx">_attach</span><span class="p">(</span><span class="nx">r</span><span class="p">);</span>
            <span class="nx">handleLoader</span><span class="p">();</span>
        <span class="p">}</span>

        <span class="k">return</span> <span class="nx">Y</span><span class="p">;</span>
    <span class="p">},</span>


    <span class="cm">/**</span>
<span class="cm">     * Returns the namespace specified and creates it if it doesn&#39;t exist</span>
<span class="cm">     * &lt;pre&gt;</span>
<span class="cm">     * YUI.namespace(&quot;property.package&quot;);</span>
<span class="cm">     * YUI.namespace(&quot;YAHOO.property.package&quot;);</span>
<span class="cm">     * &lt;/pre&gt;</span>
<span class="cm">     * Either of the above would create YUI.property, then</span>
<span class="cm">     * YUI.property.package (YAHOO is scrubbed out, this is</span>
<span class="cm">     * to remain compatible with YUI2)</span>
<span class="cm">     *</span>
<span class="cm">     * Be careful when naming packages. Reserved words may work in some browsers</span>
<span class="cm">     * and not others. For instance, the following will fail in Safari:</span>
<span class="cm">     * &lt;pre&gt;</span>
<span class="cm">     * YUI.namespace(&quot;really.long.nested.namespace&quot;);</span>
<span class="cm">     * &lt;/pre&gt;</span>
<span class="cm">     * This fails because &quot;long&quot; is a future reserved word in ECMAScript</span>
<span class="cm">     *</span>
<span class="cm">     * @method namespace</span>
<span class="cm">     * @param  {string*} arguments 1-n namespaces to create </span>
<span class="cm">     * @return {object}  A reference to the last namespace object created</span>
<span class="cm">     */</span>
    <span class="nx">namespace</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
        <span class="kd">var</span> <span class="nx">a</span><span class="o">=</span><span class="nx">arguments</span><span class="p">,</span> <span class="nx">o</span><span class="o">=</span><span class="kc">null</span><span class="p">,</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">j</span><span class="p">,</span> <span class="nx">d</span><span class="p">;</span>
        <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">a</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">d</span> <span class="o">=</span> <span class="p">(</span><span class="s2">&quot;&quot;</span> <span class="o">+</span> <span class="nx">a</span><span class="p">[</span><span class="nx">i</span><span class="p">]).</span><span class="nx">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">);</span>
            <span class="nx">o</span> <span class="o">=</span> <span class="k">this</span><span class="p">;</span>
            <span class="k">for</span> <span class="p">(</span><span class="nx">j</span><span class="o">=</span><span class="p">(</span><span class="nx">d</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;YAHOO&quot;</span><span class="p">)</span> <span class="o">?</span> <span class="mi">1</span> <span class="o">:</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">j</span><span class="o">&lt;</span><span class="nx">d</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">o</span><span class="p">[</span><span class="nx">d</span><span class="p">[</span><span class="nx">j</span><span class="p">]]</span> <span class="o">=</span> <span class="nx">o</span><span class="p">[</span><span class="nx">d</span><span class="p">[</span><span class="nx">j</span><span class="p">]]</span> <span class="o">||</span> <span class="p">{};</span>
                <span class="nx">o</span> <span class="o">=</span> <span class="nx">o</span><span class="p">[</span><span class="nx">d</span><span class="p">[</span><span class="nx">j</span><span class="p">]];</span>
            <span class="p">}</span>
        <span class="p">}</span>
        <span class="k">return</span> <span class="nx">o</span><span class="p">;</span>
    <span class="p">},</span>

    <span class="c1">// this is replaced if the log module is included</span>
    <span class="nx">log</span><span class="o">:</span> <span class="nx">NOOP</span><span class="p">,</span>
    <span class="nx">message</span><span class="o">:</span> <span class="nx">NOOP</span><span class="p">,</span>

    <span class="cm">/**</span>
<span class="cm">     * Report an error.  The reporting mechanism is controled by</span>
<span class="cm">     * the &#39;throwFail&#39; configuration attribute.  If throwFail is</span>
<span class="cm">     * not specified, the message is written to the Logger, otherwise</span>
<span class="cm">     * a JS error is thrown</span>
<span class="cm">     * @method error</span>
<span class="cm">     * @param msg {string} the error message</span>
<span class="cm">     * @param e {Error} Optional JS error that was caught.  If supplied</span>
<span class="cm">     * and throwFail is specified, this error will be re-thrown.</span>
<span class="cm">     * @return {YUI} this YUI instance</span>
<span class="cm">     */</span>
    <span class="nx">error</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">msg</span><span class="p">,</span> <span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
        <span class="k">if</span> <span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">config</span><span class="p">.</span><span class="nx">throwFail</span><span class="p">)</span> <span class="p">{</span>
            <span class="k">throw</span> <span class="p">(</span><span class="nx">e</span> <span class="o">||</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="nx">msg</span><span class="p">));</span> 
        <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
            <span class="k">this</span><span class="p">.</span><span class="nx">message</span><span class="p">(</span><span class="nx">msg</span><span class="p">,</span> <span class="s2">&quot;error&quot;</span><span class="p">);</span> <span class="c1">// don&#39;t scrub this one</span>
        <span class="p">}</span>

        <span class="k">return</span> <span class="k">this</span><span class="p">;</span>
    <span class="p">},</span>

    <span class="cm">/**</span>
<span class="cm">     * Generate an id that is unique among all YUI instances</span>
<span class="cm">     * @method guid</span>
<span class="cm">     * @param pre {string} optional guid prefix</span>
<span class="cm">     * @return {string} the guid</span>
<span class="cm">     */</span>
    <span class="nx">guid</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">pre</span><span class="p">)</span> <span class="p">{</span>
        <span class="kd">var</span> <span class="nx">id</span> <span class="o">=</span>  <span class="k">this</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">_guidp</span> <span class="o">+</span> <span class="p">(</span><span class="o">++</span><span class="k">this</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">_uidx</span><span class="p">);</span>
        <span class="k">return</span> <span class="p">(</span><span class="nx">pre</span><span class="p">)</span> <span class="o">?</span> <span class="p">(</span><span class="nx">pre</span> <span class="o">+</span> <span class="nx">id</span><span class="p">)</span> <span class="o">:</span> <span class="nx">id</span><span class="p">;</span>
    <span class="p">},</span>

    <span class="cm">/**</span>
<span class="cm">     * Returns a guid associated with an object.  If the object</span>
<span class="cm">     * does not have one, a new one is created unless readOnly</span>
<span class="cm">     * is specified.</span>
<span class="cm">     * @method stamp</span>
<span class="cm">     * @param o The object to stamp</span>
<span class="cm">     * @param readOnly {boolean} if true, a valid guid will only</span>
<span class="cm">     * be returned if the object has one assigned to it.</span>
<span class="cm">     * @return {string} The object&#39;s guid or null</span>
<span class="cm">     */</span>
    <span class="nx">stamp</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">o</span><span class="p">,</span> <span class="nx">readOnly</span><span class="p">)</span> <span class="p">{</span>
        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">o</span><span class="p">)</span> <span class="p">{</span>
            <span class="k">return</span> <span class="nx">o</span><span class="p">;</span>
        <span class="p">}</span>
        <span class="kd">var</span> <span class="nx">uid</span> <span class="o">=</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">o</span> <span class="o">===</span> <span class="s1">&#39;string&#39;</span><span class="p">)</span> <span class="o">?</span> <span class="nx">o</span> <span class="o">:</span> <span class="nx">o</span><span class="p">.</span><span class="nx">_yuid</span><span class="p">;</span>
        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">uid</span><span class="p">)</span> <span class="p">{</span>
            <span class="nx">uid</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">guid</span><span class="p">();</span>
            <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">readOnly</span><span class="p">)</span> <span class="p">{</span>
                <span class="k">try</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">_yuid</span> <span class="o">=</span> <span class="nx">uid</span><span class="p">;</span>
                <span class="p">}</span> <span class="k">catch</span><span class="p">(</span><span class="nx">e</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">uid</span> <span class="o">=</span> <span class="kc">null</span><span class="p">;</span>
                <span class="p">}</span>
            <span class="p">}</span>
        <span class="p">}</span>
        <span class="k">return</span> <span class="nx">uid</span><span class="p">;</span>
    <span class="p">}</span>
<span class="p">};</span>

<span class="c1">// Give the YUI global the same properties as an instance.</span>
<span class="c1">// This makes it so that the YUI global can be used like the YAHOO</span>
<span class="c1">// global was used prior to 3.x.  More importantly, the YUI global</span>
<span class="c1">// provides global metadata, so env needs to be configured.</span>
<span class="c1">// @TODO review</span>

    <span class="nx">p</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">.</span><span class="nx">prototype</span><span class="p">;</span>

    <span class="c1">// inheritance utilities are not available yet</span>
    <span class="k">for</span> <span class="p">(</span><span class="nx">prop</span> <span class="k">in</span> <span class="nx">p</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">YUI</span><span class="p">[</span><span class="nx">prop</span><span class="p">]</span> <span class="o">=</span> <span class="nx">p</span><span class="p">[</span><span class="nx">prop</span><span class="p">];</span>
    <span class="p">}</span>

    <span class="c1">// set up the environment</span>
    <span class="nx">YUI</span><span class="p">.</span><span class="nx">_init</span><span class="p">();</span>

    <span class="c1">// setTimeout(function() { YUI._attach([&#39;yui-base&#39;]); }, 0);</span>

    <span class="k">if</span> <span class="p">(</span><span class="nx">hasWin</span><span class="p">)</span> <span class="p">{</span>
        <span class="c1">// add a window load event at load time so we can capture</span>
        <span class="c1">// the case where it fires before dynamic loading is</span>
        <span class="c1">// complete.</span>
        <span class="nx">add</span><span class="p">(</span><span class="nb">window</span><span class="p">,</span> <span class="s1">&#39;load&#39;</span><span class="p">,</span> <span class="nx">handleLoad</span><span class="p">);</span>
    <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
        <span class="nx">handleLoad</span><span class="p">();</span>
    <span class="p">}</span>

    <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">add</span> <span class="o">=</span> <span class="nx">add</span><span class="p">;</span>
    <span class="nx">YUI</span><span class="p">.</span><span class="nx">Env</span><span class="p">.</span><span class="nx">remove</span> <span class="o">=</span> <span class="nx">remove</span><span class="p">;</span>

    <span class="cm">/*global exports*/</span>
    <span class="c1">// Support the CommonJS method for exporting our single global</span>
    <span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">exports</span> <span class="o">==</span> <span class="s1">&#39;object&#39;</span><span class="p">)</span> <span class="p">{</span>
        <span class="nx">exports</span><span class="p">.</span><span class="nx">YUI</span> <span class="o">=</span> <span class="nx">YUI</span><span class="p">;</span>
    <span class="p">}</span>

<span class="p">})();</span>

<span class="cm">/**</span>
<span class="cm"> * The config object contains all of the configuration options for</span>
<span class="cm"> * the YUI instance.  This object is supplied by the implementer </span>
<span class="cm"> * when instantiating a YUI instance.  Some properties have default</span>
<span class="cm"> * values if they are not supplied by the implementer.</span>
<span class="cm"> *</span>
<span class="cm"> * @class config</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Allows the YUI seed file to fetch the loader component and library</span>
<span class="cm"> * metadata to dynamically load additional dependencies.</span>
<span class="cm"> *</span>
<span class="cm"> * @property bootstrap</span>
<span class="cm"> * @type boolean</span>
<span class="cm"> * @default true</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Log to the browser console if debug is on and the browser has a</span>
<span class="cm"> * supported console.</span>
<span class="cm"> *</span>
<span class="cm"> * @property useBrowserConsole</span>
<span class="cm"> * @type boolean</span>
<span class="cm"> * @default true</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A hash of log sources that should be logged.  If specified, only log messages from these sources will be logged.</span>
<span class="cm"> *</span>
<span class="cm"> * @property logInclude</span>
<span class="cm"> * @type object</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A hash of log sources that should be not be logged.  If specified, all sources are logged if not on this list.</span>
<span class="cm"> *</span>
<span class="cm"> * @property logExclude</span>
<span class="cm"> * @type object</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Set to true if the yui seed file was dynamically loaded in </span>
<span class="cm"> * order to bootstrap components relying on the window load event </span>
<span class="cm"> * and the &#39;domready&#39; custom event.</span>
<span class="cm"> *</span>
<span class="cm"> * @property injected</span>
<span class="cm"> * @type boolean</span>
<span class="cm"> * @default false</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * If throwFail is set, Y.fail will generate or re-throw a JS Error.  Otherwise the failure is logged.</span>
<span class="cm"> *</span>
<span class="cm"> * @property throwFail</span>
<span class="cm"> * @type boolean</span>
<span class="cm"> * @default true</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The window/frame that this instance should operate in.</span>
<span class="cm"> *</span>
<span class="cm"> * @property win</span>
<span class="cm"> * @type Window</span>
<span class="cm"> * @default the window hosting YUI</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The document associated with the &#39;win&#39; configuration.</span>
<span class="cm"> *</span>
<span class="cm"> * @property doc</span>
<span class="cm"> * @type Document</span>
<span class="cm"> * @default the document hosting YUI</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A list of modules that defines the YUI core (overrides the default).</span>
<span class="cm"> *</span>
<span class="cm"> * @property core</span>
<span class="cm"> * @type string[]</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A list of languages in order of preference. This list is matched against</span>
<span class="cm"> * the list of available languages in modules that the YUI instance uses to</span>
<span class="cm"> * determine the best possible localization of language sensitive modules.</span>
<span class="cm"> * Languages are represented using BCP 47 language tags, such as &quot;en-GB&quot; for</span>
<span class="cm"> * English as used in the United Kingdom, or &quot;zh-Hans-CN&quot; for simplified</span>
<span class="cm"> * Chinese as used in China. The list can be provided as a comma-separated</span>
<span class="cm"> * list or as an array.</span>
<span class="cm"> *</span>
<span class="cm"> * @property lang</span>
<span class="cm"> * @type string|string[]</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The default date format</span>
<span class="cm"> * @property dateFormat</span>
<span class="cm"> * @type string</span>
<span class="cm"> * @deprecated use configuration in DataType.Date.format() instead</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The default locale</span>
<span class="cm"> * @property locale</span>
<span class="cm"> * @type string</span>
<span class="cm"> * @deprecated use config.lang instead</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The default interval when polling in milliseconds.</span>
<span class="cm"> * @property pollInterval</span>
<span class="cm"> * @type int</span>
<span class="cm"> * @default 20</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The number of dynamic nodes to insert by default before</span>
<span class="cm"> * automatically removing them.  This applies to script nodes</span>
<span class="cm"> * because remove the node will not make the evaluated script</span>
<span class="cm"> * unavailable.  Dynamic CSS is not auto purged, because removing</span>
<span class="cm"> * a linked style sheet will also remove the style definitions.</span>
<span class="cm"> * @property purgethreshold</span>
<span class="cm"> * @type int</span>
<span class="cm"> * @default 20</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The default interval when polling in milliseconds.</span>
<span class="cm"> * @property windowResizeDelay</span>
<span class="cm"> * @type int</span>
<span class="cm"> * @default 40</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Base directory for dynamic loading</span>
<span class="cm"> * @property base</span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>

<span class="cm">/*</span>
<span class="cm"> * The secure base dir (not implemented)</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> * @property secureBase</span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The YUI combo service base dir. Ex: http://yui.yahooapis.com/combo?</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> * @property comboBase</span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The root path to prepend to module path for the combo service. Ex: 3.0.0b1/build/</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> * @property root</span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A filter to apply to result urls.  This filter will modify the default</span>
<span class="cm"> * path for all modules.  The default path for the YUI library is the</span>
<span class="cm"> * minified version of the files (e.g., event-min.js).  The filter property</span>
<span class="cm"> * can be a predefined filter or a custom filter.  The valid predefined </span>
<span class="cm"> * filters are:</span>
<span class="cm"> * &lt;dl&gt;</span>
<span class="cm"> *  &lt;dt&gt;DEBUG&lt;/dt&gt;</span>
<span class="cm"> *  &lt;dd&gt;Selects the debug versions of the library (e.g., event-debug.js).</span>
<span class="cm"> *      This option will automatically include the Logger widget&lt;/dd&gt;</span>
<span class="cm"> *  &lt;dt&gt;RAW&lt;/dt&gt;</span>
<span class="cm"> *  &lt;dd&gt;Selects the non-minified version of the library (e.g., event.js).&lt;/dd&gt;</span>
<span class="cm"> * &lt;/dl&gt;</span>
<span class="cm"> * You can also define a custom filter, which must be an object literal </span>
<span class="cm"> * containing a search expression and a replace string:</span>
<span class="cm"> * &lt;pre&gt;</span>
<span class="cm"> *  myFilter: &amp;#123; </span>
<span class="cm"> *      &#39;searchExp&#39;: &quot;-min\\.js&quot;, </span>
<span class="cm"> *      &#39;replaceStr&#39;: &quot;-debug.js&quot;</span>
<span class="cm"> *  &amp;#125;</span>
<span class="cm"> * &lt;/pre&gt;</span>
<span class="cm"> *</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> *</span>
<span class="cm"> * @property filter</span>
<span class="cm"> * @type string|object</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The &#39;skin&#39; config let&#39;s you configure application level skin</span>
<span class="cm"> * customizations.  It contains the following attributes which</span>
<span class="cm"> * can be specified to override the defaults:</span>
<span class="cm"> *</span>
<span class="cm"> *      // The default skin, which is automatically applied if not</span>
<span class="cm"> *      // overriden by a component-specific skin definition.</span>
<span class="cm"> *      // Change this in to apply a different skin globally</span>
<span class="cm"> *      defaultSkin: &#39;sam&#39;, </span>
<span class="cm"> *</span>
<span class="cm"> *      // This is combined with the loader base property to get</span>
<span class="cm"> *      // the default root directory for a skin.</span>
<span class="cm"> *      base: &#39;assets/skins/&#39;,</span>
<span class="cm"> *</span>
<span class="cm"> *      // Any component-specific overrides can be specified here,</span>
<span class="cm"> *      // making it possible to load different skins for different</span>
<span class="cm"> *      // components.  It is possible to load more than one skin</span>
<span class="cm"> *      // for a given component as well.</span>
<span class="cm"> *      overrides: {</span>
<span class="cm"> *          slider: [&#39;capsule&#39;, &#39;round&#39;]</span>
<span class="cm"> *      }</span>
<span class="cm"> *</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> *</span>
<span class="cm"> *  @property skin</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Hash of per-component filter specification.  If specified for a given component, </span>
<span class="cm"> * this overrides the filter config</span>
<span class="cm"> *</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> *</span>
<span class="cm"> * @property filters</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Use the YUI combo service to reduce the number of http connections </span>
<span class="cm"> * required to load your dependencies.  Turning this off will</span>
<span class="cm"> * disable combo handling for YUI and all module groups configured</span>
<span class="cm"> * with a combo service.</span>
<span class="cm"> *</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> *</span>
<span class="cm"> * @property combine</span>
<span class="cm"> * @type boolean</span>
<span class="cm"> * @default true if &#39;base&#39; is not supplied, false if it is.</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A list of modules that should never be dynamically loaded</span>
<span class="cm"> *</span>
<span class="cm"> * @property ignore</span>
<span class="cm"> * @type string[]</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A list of modules that should always be loaded when required, even if already </span>
<span class="cm"> * present on the page.</span>
<span class="cm"> *</span>
<span class="cm"> * @property force</span>
<span class="cm"> * @type string[]</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Node or id for a node that should be used as the insertion point for new nodes</span>
<span class="cm"> * For dynamic loading.</span>
<span class="cm"> *</span>
<span class="cm"> * @property insertBefore</span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * charset for dynamic nodes</span>
<span class="cm"> * @property charset</span>
<span class="cm"> * @type string</span>
<span class="cm"> * @deprecated use jsAttributes cssAttributes</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Object literal containing attributes to add to dynamically loaded script nodes.</span>
<span class="cm"> * @property jsAttributes</span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Object literal containing attributes to add to dynamically loaded link nodes.</span>
<span class="cm"> * @property cssAttributes</span>
<span class="cm"> * @type string</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Number of milliseconds before a timeout occurs when dynamically </span>
<span class="cm"> * loading nodes. If not set, there is no timeout.</span>
<span class="cm"> * @property timeout</span>
<span class="cm"> * @type int</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Callback for the &#39;CSSComplete&#39; event.  When dynamically loading YUI </span>
<span class="cm"> * components with CSS, this property fires when the CSS is finished</span>
<span class="cm"> * loading but script loading is still ongoing.  This provides an</span>
<span class="cm"> * opportunity to enhance the presentation of a loading page a little</span>
<span class="cm"> * bit before the entire loading process is done.</span>
<span class="cm"> *</span>
<span class="cm"> * @property onCSS</span>
<span class="cm"> * @type function</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A hash of module definitions to add to the list of YUI components.  </span>
<span class="cm"> * These components can then be dynamically loaded side by side with</span>
<span class="cm"> * YUI via the use() method. This is a hash, the key is the module</span>
<span class="cm"> * name, and the value is an object literal specifying the metdata</span>
<span class="cm"> * for the module.  * See Loader.addModule for the supported module</span>
<span class="cm"> * metadata fields.  Also @see groups, which provides a way to</span>
<span class="cm"> * configure the base and combo spec for a </span>
<span class="cm"> * &lt;code&gt;</span>
<span class="cm"> * modules: {</span>
<span class="cm"> * &amp;nbsp; mymod1: {</span>
<span class="cm"> * &amp;nbsp;   requires: [&#39;node&#39;],</span>
<span class="cm"> * &amp;nbsp;   fullpath: &#39;http://myserver.mydomain.com/mymod1/mymod1.js&#39;</span>
<span class="cm"> * &amp;nbsp; },</span>
<span class="cm"> * &amp;nbsp; mymod2: {</span>
<span class="cm"> * &amp;nbsp;   requires: [&#39;mymod1&#39;],</span>
<span class="cm"> * &amp;nbsp;   fullpath: &#39;http://myserver.mydomain.com/mymod2/mymod2.js&#39;</span>
<span class="cm"> * &amp;nbsp; }</span>
<span class="cm"> * }</span>
<span class="cm"> * &lt;/code&gt;</span>
<span class="cm"> *</span>
<span class="cm"> * @property modules</span>
<span class="cm"> * @type object</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * A hash of module group definitions.  It for each group you</span>
<span class="cm"> * can specify a list of modules and the base path and</span>
<span class="cm"> * combo spec to use when dynamically loading the modules.  @see</span>
<span class="cm"> * @see modules for the details about the modules part of the</span>
<span class="cm"> * group definition.</span>
<span class="cm"> * &lt;code&gt;</span>
<span class="cm"> * &amp;nbsp; groups: {</span>
<span class="cm"> * &amp;nbsp;     yui2: {</span>
<span class="cm"> * &amp;nbsp;         // specify whether or not this group has a combo service</span>
<span class="cm"> * &amp;nbsp;         combine: true,</span>
<span class="cm"> * &amp;nbsp;</span>
<span class="cm"> * &amp;nbsp;         // the base path for non-combo paths</span>
<span class="cm"> * &amp;nbsp;         base: &#39;http://yui.yahooapis.com/2.8.0r4/build/&#39;,</span>
<span class="cm"> * &amp;nbsp;</span>
<span class="cm"> * &amp;nbsp;         // the path to the combo service</span>
<span class="cm"> * &amp;nbsp;         comboBase: &#39;http://yui.yahooapis.com/combo?&#39;,</span>
<span class="cm"> * &amp;nbsp;</span>
<span class="cm"> * &amp;nbsp;         // a fragment to prepend to the path attribute when</span>
<span class="cm"> * &amp;nbsp;         // when building combo urls</span>
<span class="cm"> * &amp;nbsp;         root: &#39;2.8.0r4/build/&#39;,</span>
<span class="cm"> * &amp;nbsp;</span>
<span class="cm"> * &amp;nbsp;         // the module definitions</span>
<span class="cm"> * &amp;nbsp;         modules:  {</span>
<span class="cm"> * &amp;nbsp;             yui2_yde: {</span>
<span class="cm"> * &amp;nbsp;                 path: &quot;yahoo-dom-event/yahoo-dom-event.js&quot;</span>
<span class="cm"> * &amp;nbsp;             },</span>
<span class="cm"> * &amp;nbsp;             yui2_anim: {</span>
<span class="cm"> * &amp;nbsp;                 path: &quot;animation/animation.js&quot;,</span>
<span class="cm"> * &amp;nbsp;                 requires: [&#39;yui2_yde&#39;]</span>
<span class="cm"> * &amp;nbsp;             }</span>
<span class="cm"> * &amp;nbsp;         }</span>
<span class="cm"> * &amp;nbsp;     }</span>
<span class="cm"> * &amp;nbsp; }</span>
<span class="cm"> * &lt;/code&gt;</span>
<span class="cm"> * @property modules</span>
<span class="cm"> * @type object</span>
<span class="cm"> */</span>
 
<span class="cm">/**</span>
<span class="cm"> * The loader &#39;path&#39; attribute to the loader itself.  This is combined</span>
<span class="cm"> * with the &#39;base&#39; attribute to dynamically load the loader component</span>
<span class="cm"> * when boostrapping with the get utility alone.</span>
<span class="cm"> *</span>
<span class="cm"> * @property loaderPath</span>
<span class="cm"> * @type string</span>
<span class="cm"> * @default loader/loader-min.js</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Specifies whether or not YUI().use(...) will attempt to load CSS</span>
<span class="cm"> * resources at all.  Any truthy value will cause CSS dependencies</span>
<span class="cm"> * to load when fetching script.  The special value &#39;force&#39; will </span>
<span class="cm"> * cause CSS dependencies to be loaded even if no script is needed.</span>
<span class="cm"> *</span>
<span class="cm"> * @property fetchCSS</span>
<span class="cm"> * @type boolean|string</span>
<span class="cm"> * @default true</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The default gallery version to build gallery module urls</span>
<span class="cm"> * @property gallery</span>
<span class="cm"> * @type string</span>
<span class="cm"> * @since 3.1.0</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The default YUI 2 version to build yui2 module urls.  This is for</span>
<span class="cm"> * intrinsic YUI 2 support via the 2in3 project.  Also @see the &#39;2in3&#39;</span>
<span class="cm"> * config for pulling different revisions of the wrapped YUI 2 </span>
<span class="cm"> * modules.</span>
<span class="cm"> * @since 3.1.0</span>
<span class="cm"> * @property yui2 </span>
<span class="cm"> * @type string</span>
<span class="cm"> * @default 2.8.0</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * The 2in3 project is a deployment of the various versions of YUI 2</span>
<span class="cm"> * deployed as first-class YUI 3 modules.  Eventually, the wrapper</span>
<span class="cm"> * for the modules will change (but the underlying YUI 2 code will</span>
<span class="cm"> * be the same), and you can select a particular version of</span>
<span class="cm"> * the wrapper modules via this config.</span>
<span class="cm"> * @since 3.1.0</span>
<span class="cm"> * @property 2in3</span>
<span class="cm"> * @type string</span>
<span class="cm"> * @default 1</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * Alternative console log function for use in environments without</span>
<span class="cm"> * a supported native console.</span>
<span class="cm"> * @since 3.1.0</span>
<span class="cm"> * @property logFn</span>
<span class="cm"> * @type Function</span>
<span class="cm"> */</span>
</pre></div>

                    </div>
			</div>
		</div>
		<div class="yui-b">
            <div class="nav">

                    <div id="moduleList" class="module">
                        <h4>Modules</h4>
                        <ul class="content">
                                <li class=""><a href="module_align-plugin.html" title="align-plugin">align-plugin</a></li>
                                <li class=""><a href="module_anim.html" title="anim">anim</a></li>
                                <li class=""><a href="module_async-queue.html" title="async-queue">async-queue</a></li>
                                <li class=""><a href="module_attribute.html" title="attribute">attribute</a></li>
                                <li class=""><a href="module_base.html" title="base">base</a></li>
                                <li class=""><a href="module_cache.html" title="cache">cache</a></li>
                                <li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li>
                                <li class=""><a href="module_collection.html" title="collection">collection</a></li>
                                <li class=""><a href="module_console.html" title="console">console</a></li>
                                <li class=""><a href="module_console-filters.html" title="console-filters">console-filters</a></li>
                                <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
                                <li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li>
                                <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
                                <li class=""><a href="module_datatype.html" title="datatype">datatype</a></li>
                                <li class=""><a href="module_dd.html" title="dd">dd</a></li>
                                <li class=""><a href="module_dom.html" title="dom">dom</a></li>
                                <li class=""><a href="module_dump.html" title="dump">dump</a></li>
                                <li class=""><a href="module_event.html" title="event">event</a></li>
                                <li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li>
                                <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
                                <li class=""><a href="module_history.html" title="history">history</a></li>
                                <li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
                                <li class=""><a href="module_intl.html" title="intl">intl</a></li>
                                <li class=""><a href="module_io.html" title="io">io</a></li>
                                <li class=""><a href="module_json.html" title="json">json</a></li>
                                <li class=""><a href="module_loader.html" title="loader">loader</a></li>
                                <li class=""><a href="module_node.html" title="node">node</a></li>
                                <li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li>
                                <li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li>
                                <li class=""><a href="module_oop.html" title="oop">oop</a></li>
                                <li class=""><a href="module_overlay.html" title="overlay">overlay</a></li>
                                <li class=""><a href="module_plugin.html" title="plugin">plugin</a></li>
                                <li class=""><a href="module_pluginhost.html" title="pluginhost">pluginhost</a></li>
                                <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
                                <li class=""><a href="module_querystring.html" title="querystring">querystring</a></li>
                                <li class=""><a href="module_queue-promote.html" title="queue-promote">queue-promote</a></li>
                                <li class=""><a href="module_shim-plugin.html" title="shim-plugin">shim-plugin</a></li>
                                <li class=""><a href="module_slider.html" title="slider">slider</a></li>
                                <li class=""><a href="module_sortable.html" title="sortable">sortable</a></li>
                                <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
                                <li class=""><a href="module_substitute.html" title="substitute">substitute</a></li>
                                <li class=""><a href="module_swf.html" title="swf">swf</a></li>
                                <li class=""><a href="module_swfdetect.html" title="swfdetect">swfdetect</a></li>
                                <li class=""><a href="module_tabview.html" title="tabview">tabview</a></li>
                                <li class=""><a href="module_test.html" title="test">test</a></li>
                                <li class=""><a href="module_widget.html" title="widget">widget</a></li>
                                <li class=""><a href="module_widget-anim.html" title="widget-anim">widget-anim</a></li>
                                <li class=""><a href="module_widget-child.html" title="widget-child">widget-child</a></li>
                                <li class=""><a href="module_widget-locale.html" title="widget-locale">widget-locale</a></li>
                                <li class=""><a href="module_widget-parent.html" title="widget-parent">widget-parent</a></li>
                                <li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li>
                                <li class=""><a href="module_widget-position-align.html" title="widget-position-align">widget-position-align</a></li>
                                <li class=""><a href="module_widget-position-constrain.html" title="widget-position-constrain">widget-position-constrain</a></li>
                                <li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li>
                                <li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li>
                                <li class="selected"><a href="module_yui.html" title="yui">yui</a></li>
                        </ul>
                    </div>

                    <div id="classList" class="module">
                        <h4>Classes</h4>
                        <ul class="content">
                                <li class=""><a href="Array.html" title="Array">Array</a></li>
                                <li class=""><a href="config.html" title="config">config</a></li>
                                <li class=""><a href="Get.html" title="Get">Get</a></li>
                                <li class=""><a href="Intl.html" title="Intl">Intl</a></li>
                                <li class=""><a href="Lang.html" title="Lang">Lang</a></li>
                                <li class=""><a href="Object.html" title="Object">Object</a></li>
                                <li class=""><a href="Queue.html" title="Queue">Queue</a></li>
                                <li class=""><a href="UA.html" title="UA">UA</a></li>
                                <li class=""><a href="YUI.html" title="YUI">YUI</a></li>
                        </ul>
                    </div>

                    <div id="fileList" class="module">
                        <h4>Files</h4>
                        <ul class="content">        
                                <li class=""><a href="_module.js.html" title="_module.js">_module.js</a></li>
                                <li class=""><a href="get.js.html" title="get.js">get.js</a></li>
                                <li class=""><a href="intl-base.js.html" title="intl-base.js">intl-base.js</a></li>
                                <li class=""><a href="queue-base.js.html" title="queue-base.js">queue-base.js</a></li>
                                <li class=""><a href="yui-array.js.html" title="yui-array.js">yui-array.js</a></li>
                                <li class=""><a href="yui-base.js.html" title="yui-base.js">yui-base.js</a></li>
                                <li class=""><a href="yui-core.js.html" title="yui-core.js">yui-core.js</a></li>
                                <li class=""><a href="yui-init.js.html" title="yui-init.js">yui-init.js</a></li>
                                <li class=""><a href="yui-lang.js.html" title="yui-lang.js">yui-lang.js</a></li>
                                <li class=""><a href="yui-later.js.html" title="yui-later.js">yui-later.js</a></li>
                                <li class=""><a href="yui-log.js.html" title="yui-log.js">yui-log.js</a></li>
                                <li class=""><a href="yui-object.js.html" title="yui-object.js">yui-object.js</a></li>
                                <li class=""><a href="yui-throttle.js.html" title="yui-throttle.js">yui-throttle.js</a></li>
                                <li class=""><a href="yui-ua.js.html" title="yui-ua.js">yui-ua.js</a></li>
                                <li class="selected"><a href="yui.js.html" title="yui.js">yui.js</a></li>
                        </ul>
                    </div>





            </div>
		</div>
	</div>
	<div id="ft">
        <hr />
        Copyright &copy; 2010 Yahoo! Inc. All rights reserved.
	</div>
</div>
<script type="text/javascript">

    var ALL_YUI_PROPS = [{"access": "", "host": "Array", "name": "()", "url": "Array.html#method_()", "type": "method"}, {"access": "", "host": "Object", "name": "()", "url": "Object.html#method_()", "type": "method"}, {"access": "", "host": "config", "name": "2in3", "url": "config.html#property_2in3", "type": "property"}, {"access": "", "host": "Get", "name": "abort", "url": "Get.html#method_abort", "type": "method"}, {"access": "", "host": "Intl", "name": "add", "url": "Intl.html#method_add", "type": "method"}, {"access": "", "host": "Queue", "name": "add", "url": "Queue.html#method_add", "type": "method"}, {"access": "", "host": "YUI", "name": "add", "url": "YUI.html#method_add", "type": "method"}, {"access": "", "host": "YUI", "name": "addClass", "url": "YUI.html#method_addClass", "type": "method"}, {"access": "", "host": "YUI", "name": "after", "url": "YUI.html#method_after", "type": "method"}, {"access": "", "host": "UA", "name": "air", "url": "UA.html#property_air", "type": "property"}, {"access": "", "host": "YUI", "name": "applyTo", "url": "YUI.html#method_applyTo", "type": "method"}, {"access": "private", "host": "YUI", "name": "_attach", "url": "YUI.html#method__attach", "type": "method"}, {"access": "private", "host": "Get", "name": "_autoPurge", "url": "Get.html#method__autoPurge", "type": "method"}, {"access": "", "host": "YUI", "name": "available", "url": "YUI.html#event_available", "type": "event"}, {"access": "", "host": "config", "name": "base", "url": "config.html#property_base", "type": "property"}, {"access": "", "host": "YUI", "name": "blur", "url": "YUI.html#event_blur", "type": "event"}, {"access": "", "host": "config", "name": "bootstrap", "url": "config.html#property_bootstrap", "type": "property"}, {"access": "", "host": "YUI", "name": "cached", "url": "YUI.html#method_cached", "type": "method"}, {"access": "", "host": "UA", "name": "caja", "url": "UA.html#property_caja", "type": "property"}, {"access": "", "host": "config", "name": "charset", "url": "config.html#property_charset", "type": "property"}, {"access": "", "host": "UA", "name": "chrome", "url": "UA.html#property_chrome", "type": "property"}, {"access": "", "host": "config", "name": "combine", "url": "config.html#property_combine", "type": "property"}, {"access": "", "host": "config", "name": "comboBase", "url": "config.html#property_comboBase", "type": "property"}, {"access": "", "host": "YUI", "name": "contentready", "url": "YUI.html#event_contentready", "type": "event"}, {"access": "", "host": "config", "name": "core", "url": "config.html#property_core", "type": "property"}, {"access": "", "host": "Get", "name": "css", "url": "Get.html#method_css", "type": "method"}, {"access": "", "host": "config", "name": "cssAttributes", "url": "config.html#property_cssAttributes", "type": "property"}, {"access": "", "host": "config", "name": "dateFormat", "url": "config.html#property_dateFormat", "type": "property"}, {"access": "", "host": "YUI", "name": "delegate", "url": "YUI.html#method_delegate", "type": "method"}, {"access": "", "host": "config", "name": "doc", "url": "config.html#property_doc", "type": "property"}, {"access": "", "host": "YUI", "name": "domready", "url": "YUI.html#event_domready", "type": "event"}, {"access": "", "host": "Array", "name": "each", "url": "Array.html#method_each", "type": "method"}, {"access": "", "host": "Object", "name": "each", "url": "Object.html#method_each", "type": "method"}, {"access": "private", "host": "Get", "name": "_end", "url": "Get.html#method__end", "type": "method"}, {"access": "", "host": "YUI", "name": "error", "url": "YUI.html#method_error", "type": "method"}, {"access": "private", "host": "Object", "name": "_extract", "url": "Object.html#method__extract", "type": "method"}, {"access": "", "host": "config", "name": "fetchCSS", "url": "config.html#property_fetchCSS", "type": "property"}, {"access": "", "host": "config", "name": "filter", "url": "config.html#property_filter", "type": "property"}, {"access": "", "host": "config", "name": "filters", "url": "config.html#property_filters", "type": "property"}, {"access": "private", "host": "Get", "name": "_finalize", "url": "Get.html#method__finalize", "type": "method"}, {"access": "private", "host": "Get", "name": "_finish", "url": "Get.html#method__finish", "type": "method"}, {"access": "", "host": "YUI", "name": "focus", "url": "YUI.html#event_focus", "type": "event"}, {"access": "", "host": "config", "name": "force", "url": "config.html#property_force", "type": "property"}, {"access": "", "host": "config", "name": "gallery", "url": "config.html#property_gallery", "type": "property"}, {"access": "", "host": "UA", "name": "gecko", "url": "UA.html#property_gecko", "type": "property"}, {"access": "", "host": "Intl", "name": "get", "url": "Intl.html#method_get", "type": "method"}, {"access": "", "host": "Intl", "name": "getAvailableLangs", "url": "Intl.html#method_getAvailableLangs", "type": "method"}, {"access": "", "host": "Intl", "name": "getLang", "url": "Intl.html#method_getLang", "type": "method"}, {"access": "", "host": "Object", "name": "getValue", "url": "Object.html#method_getValue", "type": "method"}, {"access": "", "host": "YUI", "name": "Global", "url": "YUI.html#property_Global", "type": "property"}, {"access": "", "host": "YUI", "name": "guid", "url": "YUI.html#method_guid", "type": "method"}, {"access": "", "host": "YUI", "name": "hasClass", "url": "YUI.html#method_hasClass", "type": "method"}, {"access": "", "host": "Array", "name": "hash", "url": "Array.html#method_hash", "type": "method"}, {"access": "", "host": "Object", "name": "hasKey", "url": "Object.html#method_hasKey", "type": "method"}, {"access": "", "host": "Object", "name": "hasValue", "url": "Object.html#method_hasValue", "type": "method"}, {"access": "", "host": "UA", "name": "ie", "url": "UA.html#property_ie", "type": "property"}, {"access": "", "host": "config", "name": "ignore", "url": "config.html#property_ignore", "type": "property"}, {"access": "", "host": "Queue", "name": "indexOf", "url": "Queue.html#method_indexOf", "type": "method"}, {"access": "", "host": "Array", "name": "indexOf", "url": "Array.html#method_indexOf", "type": "method"}, {"access": "protected", "host": "Queue", "name": "_init", "url": "Queue.html#method__init", "type": "method"}, {"access": "private", "host": "YUI", "name": "_init", "url": "YUI.html#method__init", "type": "method"}, {"access": "", "host": "config", "name": "injected", "url": "config.html#property_injected", "type": "property"}, {"access": "", "host": "YUI", "name": "inRegion", "url": "YUI.html#method_inRegion", "type": "method"}, {"access": "", "host": "config", "name": "insertBefore", "url": "config.html#property_insertBefore", "type": "property"}, {"access": "", "host": "YUI", "name": "intersect", "url": "YUI.html#method_intersect", "type": "method"}, {"access": "", "host": "Intl", "name": "intl:langChange", "url": "Intl.html#event_intl:langChange", "type": "event"}, {"access": "", "host": "YUI", "name": "inViewportRegion", "url": "YUI.html#method_inViewportRegion", "type": "method"}, {"access": "", "host": "Lang", "name": "isArray", "url": "Lang.html#method_isArray", "type": "method"}, {"access": "", "host": "Lang", "name": "isBoolean", "url": "Lang.html#method_isBoolean", "type": "method"}, {"access": "", "host": "Lang", "name": "isDate", "url": "Lang.html#method_isDate", "type": "method"}, {"access": "", "host": "Lang", "name": "isFunction", "url": "Lang.html#method_isFunction", "type": "method"}, {"access": "", "host": "Lang", "name": "isNull", "url": "Lang.html#method_isNull", "type": "method"}, {"access": "", "host": "Lang", "name": "isNumber", "url": "Lang.html#method_isNumber", "type": "method"}, {"access": "", "host": "Lang", "name": "isObject", "url": "Lang.html#method_isObject", "type": "method"}, {"access": "", "host": "Lang", "name": "isString", "url": "Lang.html#method_isString", "type": "method"}, {"access": "", "host": "Lang", "name": "isUndefined", "url": "Lang.html#method_isUndefined", "type": "method"}, {"access": "", "host": "Lang", "name": "isValue", "url": "Lang.html#method_isValue", "type": "method"}, {"access": "", "host": "config", "name": "jsAttributes", "url": "config.html#property_jsAttributes", "type": "property"}, {"access": "", "host": "YUI", "name": "key", "url": "YUI.html#event_key", "type": "event"}, {"access": "", "host": "Object", "name": "keys", "url": "Object.html#method_keys", "type": "method"}, {"access": "", "host": "config", "name": "lang", "url": "config.html#property_lang", "type": "property"}, {"access": "", "host": "Queue", "name": "last", "url": "Queue.html#method_last", "type": "method"}, {"access": "", "host": "YUI", "name": "later", "url": "YUI.html#method_later", "type": "method"}, {"access": "private", "host": "Get", "name": "_linkNode", "url": "Get.html#method__linkNode", "type": "method"}, {"access": "", "host": "config", "name": "loaderPath", "url": "config.html#property_loaderPath", "type": "property"}, {"access": "", "host": "config", "name": "locale", "url": "config.html#property_locale", "type": "property"}, {"access": "", "host": "YUI", "name": "log", "url": "YUI.html#method_log", "type": "method"}, {"access": "", "host": "config", "name": "logExclude", "url": "config.html#property_logExclude", "type": "property"}, {"access": "", "host": "config", "name": "logFn", "url": "config.html#property_logFn", "type": "property"}, {"access": "", "host": "config", "name": "logInclude", "url": "config.html#property_logInclude", "type": "property"}, {"access": "", "host": "Intl", "name": "lookupBestLang", "url": "Intl.html#method_lookupBestLang", "type": "method"}, {"access": "", "host": "YUI", "name": "merge", "url": "YUI.html#method_merge", "type": "method"}, {"access": "", "host": "YUI", "name": "message", "url": "YUI.html#method_message", "type": "method"}, {"access": "", "host": "YUI", "name": "mix", "url": "YUI.html#method_mix", "type": "method"}, {"access": "", "host": "UA", "name": "mobile", "url": "UA.html#property_mobile", "type": "property"}, {"access": "private", "host": "Intl", "name": "_mod", "url": "Intl.html#method__mod", "type": "method"}, {"access": "", "host": "config", "name": "modules", "url": "config.html#property_modules", "type": "property"}, {"access": "", "host": "YUI", "name": "mouseenter", "url": "YUI.html#event_mouseenter", "type": "event"}, {"access": "", "host": "YUI", "name": "mouseleave", "url": "YUI.html#event_mouseleave", "type": "event"}, {"access": "", "host": "YUI", "name": "mousewheel", "url": "YUI.html#event_mousewheel", "type": "event"}, {"access": "", "host": "YUI", "name": "namespace", "url": "YUI.html#method_namespace", "type": "method"}, {"access": "private", "host": "Get", "name": "_next", "url": "Get.html#method__next", "type": "method"}, {"access": "", "host": "Queue", "name": "next", "url": "Queue.html#method_next", "type": "method"}, {"access": "private", "host": "Get", "name": "_node", "url": "Get.html#method__node", "type": "method"}, {"access": "", "host": "Array", "name": "numericSort", "url": "Array.html#method_numericSort", "type": "method"}, {"access": "", "host": "YUI", "name": "on", "url": "YUI.html#method_on", "type": "method"}, {"access": "", "host": "YUI", "name": "once", "url": "YUI.html#method_once", "type": "method"}, {"access": "", "host": "config", "name": "onCSS", "url": "config.html#property_onCSS", "type": "property"}, {"access": "", "host": "UA", "name": "opera", "url": "UA.html#property_opera", "type": "property"}, {"access": "", "host": "UA", "name": "os", "url": "UA.html#property_os", "type": "property"}, {"access": "", "host": "Object", "name": "owns", "url": "Object.html#method_owns", "type": "method"}, {"access": "", "host": "config", "name": "pollInterval", "url": "config.html#property_pollInterval", "type": "property"}, {"access": "", "host": "Queue", "name": "promote", "url": "Queue.html#method_promote", "type": "method"}, {"access": "private", "host": "Get", "name": "_purge", "url": "Get.html#method__purge", "type": "method"}, {"access": "private", "host": "Get", "name": "PURGE_THRESH", "url": "Get.html#property_PURGE_THRESH", "type": "property"}, {"access": "", "host": "config", "name": "purgethreshold", "url": "config.html#property_purgethreshold", "type": "property"}, {"access": "private", "host": "Get", "name": "purging", "url": "Get.html#property_purging", "type": "property"}, {"access": "protected", "host": "Queue", "name": "_q", "url": "Queue.html#property__q", "type": "property"}, {"access": "private", "host": "Get", "name": "qidx", "url": "Get.html#property_qidx", "type": "property"}, {"access": "private", "host": "Get", "name": "queue", "url": "Get.html#method_queue", "type": "method"}, {"access": "private", "host": "Get", "name": "queues", "url": "Get.html#property_queues", "type": "property"}, {"access": "", "host": "YUI", "name": "region", "url": "YUI.html#method_region", "type": "method"}, {"access": "", "host": "Queue", "name": "remove", "url": "Queue.html#method_remove", "type": "method"}, {"access": "", "host": "YUI", "name": "removeClass", "url": "YUI.html#method_removeClass", "type": "method"}, {"access": "", "host": "YUI", "name": "replaceClass", "url": "YUI.html#method_replaceClass", "type": "method"}, {"access": "private", "host": "Get", "name": "_returnData", "url": "Get.html#method__returnData", "type": "method"}, {"access": "", "host": "config", "name": "root", "url": "config.html#property_root", "type": "property"}, {"access": "", "host": "Get", "name": "script", "url": "Get.html#method_script", "type": "method"}, {"access": "private", "host": "Get", "name": "_scriptNode", "url": "Get.html#method__scriptNode", "type": "method"}, {"access": "", "host": "UA", "name": "secure", "url": "UA.html#property_secure", "type": "property"}, {"access": "", "host": "Intl", "name": "setLang", "url": "Intl.html#method_setLang", "type": "method"}, {"access": "private", "host": "YUI", "name": "_setup", "url": "YUI.html#method__setup", "type": "method"}, {"access": "", "host": "Object", "name": "setValue", "url": "Object.html#method_setValue", "type": "method"}, {"access": "", "host": "YUI", "name": "simulate", "url": "YUI.html#method_simulate", "type": "method"}, {"access": "", "host": "Queue", "name": "size", "url": "Queue.html#method_size", "type": "method"}, {"access": "", "host": "Object", "name": "size", "url": "Object.html#method_size", "type": "method"}, {"access": "", "host": "config", "name": "skin", "url": "config.html#property_skin", "type": "property"}, {"access": "", "host": "Array", "name": "some", "url": "Array.html#method_some", "type": "method"}, {"access": "", "host": "YUI", "name": "stamp", "url": "YUI.html#method_stamp", "type": "method"}, {"access": "", "host": "Array", "name": "test", "url": "Array.html#method_test", "type": "method"}, {"access": "", "host": "YUI", "name": "throttle", "url": "YUI.html#method_throttle", "type": "method"}, {"access": "", "host": "config", "name": "throwFail", "url": "config.html#property_throwFail", "type": "property"}, {"access": "private", "host": "Get", "name": "_timeout", "url": "Get.html#method__timeout", "type": "method"}, {"access": "", "host": "config", "name": "timeout", "url": "config.html#property_timeout", "type": "property"}, {"access": "", "host": "YUI", "name": "toggleClass", "url": "YUI.html#method_toggleClass", "type": "method"}, {"access": "private", "host": "Get", "name": "_track", "url": "Get.html#method__track", "type": "method"}, {"access": "", "host": "Lang", "name": "trim", "url": "Lang.html#method_trim", "type": "method"}, {"access": "", "host": "Lang", "name": "type", "url": "Lang.html#method_type", "type": "method"}, {"access": "", "host": "YUI", "name": "use", "url": "YUI.html#method_use", "type": "method"}, {"access": "", "host": "config", "name": "useBrowserConsole", "url": "config.html#property_useBrowserConsole", "type": "property"}, {"access": "", "host": "YUI", "name": "valueChange", "url": "YUI.html#event_valueChange", "type": "event"}, {"access": "", "host": "Object", "name": "values", "url": "Object.html#method_values", "type": "method"}, {"access": "", "host": "YUI", "name": "viewportRegion", "url": "YUI.html#method_viewportRegion", "type": "method"}, {"access": "", "host": "UA", "name": "webkit", "url": "UA.html#property_webkit", "type": "property"}, {"access": "", "host": "config", "name": "win", "url": "config.html#property_win", "type": "property"}, {"access": "", "host": "YUI", "name": "windowresize", "url": "YUI.html#event_windowresize", "type": "event"}, {"access": "", "host": "config", "name": "windowResizeDelay", "url": "config.html#property_windowResizeDelay", "type": "property"}, {"access": "", "host": "config", "name": "yui2", "url": "config.html#property_yui2", "type": "property"}];
</script>
</body>
</html>
